簡體   English   中英

iOS SWIFT - 文件存檔 - 參數類型“[String?]”:不符合預期類型'AnyObject'

[英]iOS SWIFT - File Archive - Argument Type “[String?]” : does not conform to expected type'AnyObject'

我正在嘗試寫入存檔並收到此錯誤。

我的技術堆棧是: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類型? (因此它可能是零)。

如果你是肯定的,這個領域都不是零,你可以使用

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出來了。 無需再使用測試版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM