码:
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/