【发布时间】:2014-11-22 19:00:03
【问题描述】:
如何将这段代码转换成 Swift?
- (void)fetchFeed
{
NSString *requestString = @"https://bookapi.bignerdranch.com/private/courses.json";
NSURL *url = [NSURL URLWithString:requestString];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSURLSessionDataTask *dataTask =
[self.session dataTaskWithRequest:req
completionHandler:
^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data
options:0
error:nil];
self.courses = jsonObject[@"courses"];
NSLog(@"%@", self.courses);
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}];
[dataTask resume];
}
我尝试在此转换它,但 xcode 崩溃
func fetchFeed(){
var requestString = "http://bookapi.bignerdranch.com/courses.json"
var url = NSURL(string: requestString)
var req = NSURLRequest(URL: url!)
var dataTask:NSURLSessionDataTask = self._session.dataTaskWithRequest(req, completionHandler: { (data : NSData!, response : NSURLResponse!, error : NSError!) -> Void in
//var json:NSDictionary = NSJSONSerialization.JSONObjectWithData(data: NSData!, options: NSJSONReadingOptions.allZeros, error: NSError!)
var json: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.allZeros, error: NSErrorPointer.null()) as NSDictionary
self._courses = json["courses"]![0] as NSArray
println("\(json)")
})
dataTask.resume()
}
问题应该是这一行self._courses = json["courses"]![0] as NSArray
我想它必须是某种带有选项的错误。不知道具体是什么
我该如何解决?请帮帮我
【问题讨论】:
标签: ios objective-c json swift