Weather Underground APIを使用して天気データをXcode 7.3.1、iOS 9.3、JSONでアプリケーションに解析しようとしています(ただし、他のAPI OpenWeatherMapなど)。JSONシリアライズで「スレッド1:signal 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バリデータにフィードできますか? –