Search code examples
iosobjective-cswiftios7xcode6

how to use JsonArray out of Queue



        let user     = "Pep"
        let Password = "password"

        let urlPath: String = "http://www.theclubgate.com/mobileapp/login.php"
        var url: NSURL = NSURL(string: urlPath)!
        var request1: NSMutableURLRequest = NSMutableURLRequest(URL: url)

        request1.HTTPMethod = "POST"
        var stringPost = "password=\(user)&page_type=login&emailoruser=\(Password)"

        let data = stringPost.dataUsingEncoding(NSUTF8StringEncoding)

        request1.timeoutInterval = 60
        request1.HTTPBody=data
        request1.HTTPShouldHandleCookies=false

        let queue:NSOperationQueue = NSOperationQueue()

        NSURLConnection.sendAsynchronousRequest(request1, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in

            println("AsSynchronous #\(data)")


            let Clubdata = NSString(data: data, encoding: NSUTF8StringEncoding);
             println("AsSynchronous\(Clubdata)")

            var err: NSError?


                var jsonResult: NSMutableArray = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSMutableArray

            println("AsSynchronous#\(jsonResult)!")

            var JsonArray : NSMutableArray = jsonResult as NSMutableArray
            println("AsSynchronous#\(JsonArray)!")

        })

   

Solution

  • I Assume that you want to do some operation after you get response array. So add

    dispatch_async(NSOperationQueue .mainQueue(), { () -> Void in
                // call your own method with array parameter
            });
    

    just below println("AsSynchronous#\(JsonArray)!")

    And implement your own method with Array parameter and do your stuff there. Best luck