我試圖通過使用Weather Underground API解析天氣數據到我的應用程序與Xcode 7.3.1,iOS 9.3和JSON(但我遇到了與其他API相同的問題如OpenWeatherMap)。JSON序列化「線程1:信號SIGABRT」錯誤
我在構建應用程序時沒有遇到錯誤,但當我在模擬器中調用天氣時,出現「線程1:信號SIGABRT」錯誤。我用斷點來推測我的問題來自序列化。
我已經嘗試清理我的項目,我沒有雙重連接。
當我下載並運行this教程的項目,我有同樣的問題...
這裏是我的代碼:
#import "ViewController.h"
@interface ViewController()
@property (weak, nonatomic) IBOutlet UIButton *affichermeteo;
@property (weak, nonatomic) IBOutlet UILabel *meteo;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)affichermeteo:(id)sender {
NSData *allCoursesData = [[NSData alloc] initWithContentsOfURL:
[NSURL URLWithString:@"http://api.wunderground.com/api/e5cdee14984e242b/conditions/q/CA/San_Francisco.json"]];
NSError *error;
NSDictionary *allCourses = [NSJSONSerialization
JSONObjectWithData:allCoursesData
options:NSJSONReadingMutableContainers
error:&error];
if(error)
{
NSLog(@"%@", [error localizedDescription]);
}
else {
NSArray *currentobservation = allCourses[@"estimated"];
for (NSDictionary *theCourse in currentobservation)
{
_meteo.text=theCourse[@"weather"];
}
}
}
@end
我的錯誤窗口:
非常感謝您的幫助和對我的英語感到抱歉,我是法語!
哪條線路崩潰?你可以編輯你的問題,從崩潰中添加堆棧跟蹤? (您可能需要設置異常斷點,以便確定導致崩潰的行。) –
崩潰顯示在「options:NSJSONReadingMutableContainers」行中。 – Jeremy
這表明服務器正在給你形成嚴重的JSON。你可以將內容提供給不同的JSON解析器或JSON驗證器嗎? –