gpt4 book ai didi

ios - 对成员 'Int.init' 的模糊引用

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:38 32 4
gpt4 key购买 nike

更新到 Xcode7 和 iOS9 后,我在 swift 文件中的这一行“dueDate”: Int(date.timeIntervalSince1970 * 1000),”类型转换中收到错误“对成员 'Int.init' 的模糊引用”。请帮助我。

var date: NSDate! //Declared in the beginning of file
var updatedTask = [
"description": self.descriptionTextfield.text,
"title": self.titleTextfield.text,
"priority": self.priorityTextfield.text!.uppercaseString,
"type": self.typeTextfield.text!.uppercaseString,
"dueDate": Int(date.timeIntervalSince1970 * 1000),
"privacy": self.privateSwitch.on ? "PRIVATE": "PUBLIC"
]

最佳答案

最小的复制代码是:

var field: UITextField = UITextField()
let dict = [
"foo": Int(42),
"bar": field.text
]

这里的问题是UITextField.text的类型:

Xcode6.4:

    var text: String! // default is nil

Xcode7.0:

    public var text: String? // default is nil

它从ImplicitlyUnwrappedOptional 改变了至 Optional

所以上面代码中的字典字面量有类型

[
String: Int,
String: Optional<String>
]

然后Optional<String>无法桥接到 AnyObject .这就是编译器混淆的原因。

要解决此问题,您必须强制展开 .text属性:

var updatedTask = [
"description": self.descriptionTextfield.text!, // <- HERE
"title": self.titleTextfield.text!, // <- HERE
"priority": self.priorityTextfield.text!.uppercaseString,
"type": self.typeTextfield.text!.uppercaseString,
"dueDate": Int(date.timeIntervalSince1970 * 1000),
"privacy": self.privateSwitch.on ? "PRIVATE": "PUBLIC"
]

关于ios - 对成员 'Int.init' 的模糊引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32713340/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com