下記のように定義した変数に取得したJSONのデータをセットしようとしているのですが、
文字列型(NSString)で変数を定義しているにもかかわらず、
値が数値(NSCFNumber)としてセットされてしまいクラッシュするという状況になっています。
Objective-Cは始めたばかりなのですが、こういう場合はデータをセットするたびに毎回キャストするしかないのでしょうか?
変数の型指定ではどうにもならないのでしょうか?
ご存知の方がいらっしゃいましたらどうかアドバイスをお願いいたします。
Objective
1@property (nonatomic)NSString *timestamp; 2 3〜〜〜省略〜〜〜 4 5- (void)getTestData { 6 7〜〜〜省略〜〜〜 8 9 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 10 [manager GET:@"http://hogehoge.com/test.json" parameters:nil 11 success:^(AFHTTPRequestOperation *operation, id responseObject) { 12 if([responseObject objectForKey:@"timestamp"]){ 13 self.timestamp = responseObject[@"timestamp"];//self.timestampに入るのはNSCFNumberの値 14 if(self.timestamp != nil && ![self.timestamp isEqual:[NSNull null]] && [self.timestamp length] > 0) {//ここでクラッシュする 15 NSLog(@"timestamp: %@", self.timestamp); 16 } 17 } 18 } 19 failure:^(AFHTTPRequestOperation *operation, NSError *error) { 20 NSLog(@"Error: %@", error); 21 }]; 22 23〜〜〜省略〜〜〜 24 25} 26
下記の開発環境でアプリを作成しています。
開発環境:Xcode 7.3
開発言語:Objective-C
対象OSバージョン:iOS8.x〜9.x

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/07 04:17
2016/07/07 04:36 編集
2016/07/07 04:49