私は異なるデータを持つ配列を持っています.1つは摂氏で記録された温度です。ユーザーがデフォルト設定を華氏に変更すると、collectionView に表示される情報の配列を変更する必要があります。プログラムは適切にコンパイルされますが、ビューが読み込まれると、エラーなしでコンパイラがクラッシュし、行が緑色で強調表示され、右隅に Thread 1: breakpoint1.1 と表示されます。
強調表示されている行は次のとおりです
[dict setObject:[NSNumber numberWithInteger:number] forKey:@"temp"];
私はまた、問題を回避するためだけに成功しなかっただけです:
[dict setObject:@"11" forKey:@"temp"];
配列をループしてデータを変更するための私のコードは次のとおりです。
changedArray = [[NSMutableArray alloc] initWithCapacity:50];
for (NSMutableDictionary *dict in locationArray) {
if ( [[dict objectForKey:@"site"] isEqual:[defaults objectForKey:@"location"]] ) {
NSInteger number = [[dict objectForKey:@"temp"] integerValue];
number = ((number * 1.8) + 32);
[dict setObject:[NSNumber numberWithInteger:number] forKey:@"temp"];
[changedArray addObject:dict];
}
}
dict の温度値を変更する 3 行のコードを削除すると、正しくコンパイルされて実行されます。このios noobの内部に感謝します。:-)