gpt4 book ai didi

iOS SWIFT - 文件存档 - 参数类型 "[String?]": does not conform to expected type'AnyObject'

转载 作者:搜寻专家 更新时间:2023-11-01 06:43:14 29 4
gpt4 key购买 nike

我正在尝试写入存档并收到此错误。

我的技术堆栈是:XCode 7.1 Beta 和 SWIFT。感谢你们中的任何人可以分享解决此问题的确切代码。提前致谢。

参数类型“[String?]”:不符合预期类型'AnyObject'

@IBAction func saveArch(sender: AnyObject) {

var contactArray = [name.text, address.text, phone.text]
NSKeyedArchiver.archiveRootObject(contactArray,
toFile: dataFilePath!)

}

谢谢

最佳答案

数组不是 AnyObject 类型

你应该试试

NSKeyedArchiver.archiveRootObject(NSArray(array: contactArray),
toFile: dataFilePath!)

您正在发送一个不符合 AnyObject 的 swift [] 对象,因为数组和对象在 swift 中是不同的东西。

NSArray 不能包含可选项

您还有一个关于可选值的问题:您的一个或所有 .text 是 String 类型? (因此它可能为零)。

如果你确定这个字段都不为nil,你可以使用

var contactArray = [name.text!, address.text!, phone.text!]

或更改声明。

如果你不确定,你应该做类似的事情

var contactArray = [String]()

for element in [name.text, address.text, phone.text] where element != nil {
array.append(element!)
}
NSKeyedArchiver.archiveRootObject(NSArray(array: contactArray),
toFile: dataFilePath!)

这样你只添加非 nil 元素到 contactArray顺便说一下,Xcode 7.1 已经出来了。无需再使用测试版

关于iOS SWIFT - 文件存档 - 参数类型 "[String?]": does not conform to expected type'AnyObject',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33509406/

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