JSON Array Değerlerini Alma Bir JSON web isteğinden aldığım bir diziden değerler almaya çalışıyorum. Ancak, StringForKey işlevinin çalışmasını sağlayamam, böylece dizeyi bir etikete uygulayabiliyorum. Aşağıdaki örnek, yazılım için Apples API'sini arar. Bir test olarak, "trackName" anahtarını bir UILabel'a uygulayabilmek istiyorum, ama denediğim her şey, ya çöküyorum ya da sıfır.Swift
İşte değişkenlere sonraki
func searchFunction(searchQuery: NSString) {
var url : NSURL = NSURL.URLWithString("https://itunes.apple.com/search?term=\(searchQuery)&media=software")
var request: NSURLRequest = NSURLRequest(URL:url)
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let task : NSURLSessionDataTask = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
var newdata : NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
var info : NSArray = newdata.valueForKey("results") as NSArray
var name: String? = info.valueForKey("trackName") as? String // Returns nil
println(name)//Returns nil
var name2 : NSString = info.valueForKey("trackName") as NSString //Crashes
println(name2) //Crashes
});
task.resume()
println("Resumed")
}
comments her biri ile ne anlatıyor benim kodudur. Birisi, valueForKey ("trackName") değerini bir etikete uygulanabilecek bir dizgeye nasıl dönüştürebileceğimi açıklayabilir mi?
Teşekkür ederiz!
Müthiş! İşe yaradı! Neden "0" dizinini belirtmem gerekiyor? Objective-C'de sahip olduğum şeye benzer bir şekilde kullanabilirdim ve bir ip çıkardı. – DookieMan