码:

var contactArray = [nameField.text, addressField.text, phoneField.text]
NSKeyedArchiver.archiveRootObject(contactArray, toFile: dataFilePath!)
//Error on contactArray: Argument type '[String?]' does not conform to expected type 'AnyObject'

由于contactArray是非可选值,因此我不能强行打开它,该怎么办?

最佳答案

您正确地说contactArray不是可选的;它是一个可选数组。您在构造数组时需要解开数组的每个元素,例如:

var contactArray = [nameField.text!, addressField.text!, phoneField.text!]

另外,除非计划以后再修改该数组,否则应使用let而不是var来确保无法对其进行修改。

关于ios - 参数类型“[String?]”与预期类型“AnyObject”不符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33458848/

10-09 02:18