代码:
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
是非可选值,我无法强行打开它,我该怎么办?
答案 0 :(得分:4)
你是对的contactArray
不是可选的;它是一个选项数组。你需要在构造时解开数组的每个元素,例如:
var contactArray = [nameField.text!, addressField.text!, phoneField.text!]
此外,除非您计划稍后修改该数组,否则应使用let
代替var
以确保无法修改该数组。
答案 1 :(得分:0)
AnyObject
只能用于课程
因此:
var contactArray : NSArray = [nameField.text, addressField.text, phoneField.text];
只需输入数组类型NSArray