在swift中附加到数组 - 没有成员追加?

时间:2016-07-28 16:23:17

标签: swift append nsarray

我在这段代码中做错了什么?

为什么我会收到错误?

  

“类型'NSMutableArray'的值没有成员'追加'”

    static func saveUserData()
    {
        let item:NSDictionary = ["TIME":"12:00","LOCATION":"here"]
        let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
        let documentsDirectory = paths[0]
        let filePath = documentsDirectory + "/datafile.dat"
        var readArray:NSMutableArray? = NSMutableArray(contentsOfFile: filePath)

        if var array = readArray {

            print("loaded array - appending..." )

           // PROBLEM IS HERE 
             var damnArray:NSMutableArray = array
             damnArray.append(item)
         } else {
           //
         }
    }

3 个答案:

答案 0 :(得分:11)

由于您使用的是<input type="submit" name="" onclick="return confirm('Are you sure to insert data?');"> ,因此您需要使用NSMutableArray

addObject

damnArray.addObject(item) 与swift数组一样使用

append

有关swift var arr = [Int]() arr.append(5) 的详细信息,请查看此apple documentation或此tutorial

答案 1 :(得分:1)

你已经宣布dammArray为NSMutableArray。所以没有方法追加可用。附加在swift数组对象中可用。

 var damnArray:NSMutableArray
 damnArray.addObject(item)

 var damnArray = [NSDictionary]()
 damnArray.append(item) 

答案 2 :(得分:0)

根据您的回答和语法,这对我非常有用,在我的代码中:

@IBAction func btnSend(_ sender: UIButton)

{

    //data.append(tfData.text!)

    data.add(tfData.text!)
    tblViewList.reloadData()

    tfData.resignFirstResponder()
}