Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-附加到数组中的数组_Ios_Arrays_Json_Swift_Append - Fatal编程技术网

Ios Swift-附加到数组中的数组

Ios Swift-附加到数组中的数组,ios,arrays,json,swift,append,Ios,Arrays,Json,Swift,Append,我正在编写一个返回JSON数据的类。我创建了一个NSArray类型的数组。我向这个数组添加字符串类型的数组 稍后,我想将字符串附加到NSArray类型数组中的String类型数组中 但是它不允许这样做,我不知道为什么,因为在将nsarray追加到主数组时,append函数确实起作用 这是整个课程: import Foundation class JSON { struct Static { let hostname = "http://192.168.2.115:88

我正在编写一个返回JSON数据的类。我创建了一个NSArray类型的数组。我向这个数组添加字符串类型的数组

稍后,我想将字符串附加到NSArray类型数组中的String类型数组中

但是它不允许这样做,我不知道为什么,因为在将nsarray追加到主数组时,append函数确实起作用

这是整个课程:

import Foundation

class JSON {
    struct Static {

        let hostname = "http://192.168.2.115:8888/tcn/";

        func getJSON(script:String, jsonMainElement:String, elements:[String]) -> [NSArray] {
            var returnObject = [NSArray]()

            let urlAsString = hostname + script;
            let url = NSURL(string: urlAsString)!
            let urlSession = NSURLSession.sharedSession()

            let jsonQuery = urlSession.dataTaskWithURL(url, completionHandler: { data, response, error -> Void in
                if (error != nil) {
                    println(error.localizedDescription);
                }
                var err: NSError?
                var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
                if (err != nil) {
                    println("JSON Error \(err!.localizedDescription)");
                }
                var i = 0;
                let arrayFromJson: [[String:String]] = jsonResult[jsonMainElement] as [[String:String]]
                dispatch_async(dispatch_get_main_queue(), {
                    for item in arrayFromJson {
                        returnObject.append([String]());
                        for jsonObject in elements {
                            returnObject[i].append(item[jsonObject]!);
                            // ^ THIS LINE GIVES ERROR
                        }
                        i++;
                    }
                    if (arrayFromJson.count > 0) {
                        //k
                    }
                })

            })
            jsonQuery.resume()
            return returnObject;
        }
    }


}

您可能需要将数组定义为包含可变数组,如下所示

var returnObject = [NSMutableArray]()
您还可以使用Swift“sub”数组,并像这样定义它

var returnObject = Array<Array<String>>()
var returnObject=Array()
别忘了更新方法的报税表

func getJSON() -> Array<Array<String>>
func getJSON()->数组

这会给您带来什么错误?哦,对不起,我忘了提到错误。它是:“找不到成员‘append’”。您可以将returnObject的声明更改为[[AnyObjet]](),然后它是一个具有append方法的Swift数组。