私はしばらくサイトを見てきましたが、いくつかのことを見ましたが、何もうまくいきませんでした. ただし、ここでは非常に初心者です。
配列から入力された、辞書から入力された、plist から入力された 2 つのコンポーネントのピッカーを作成しようとしています。コンポーネントが読み込まれ、1 つのコンポーネントを回転させるボタンが表示されます。2 番目のボタンは回答を確認するためのものです (最初のコンポーネントには、2 番目のコンポーネントの大文字と一致させようとする状態があります) が、これは常にクラッシュする場所です。
私が得るエラーは次のとおりです。
* キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '* -[NSPlaceholderString initWithFormat:locale:arguments:]: nil argument'
* First throw call stack: (0x14b3022 0xeb3cd6 0x145ba48 0x145b9b9 0x916169 0x916ab4 0x3036 0x14b4e99 0x1914e 0x190e6 0xbfade 0xbffa7 0xbf266 0x3e3c0 0x3e5e6 0x24dc4 0x18634 0x139def5 0x1487195 0x13ebff2 0x13ea8da 0x13e9d84 0x13e9c9b 0x139c7d8 0x139c88a 0x16626 0x27ad 0x2715) terminate called throwing an exception(lldb)
どこが間違っているのかわかりません。ハードコードされた配列でこれを行いましたが、正常に動作します。ボタンのコードはそのようなものです(スイッチコードは無視してください。私はまだそれを機能させる方法を完全には理解していません。正解の場合は画面を緑に、不正解の場合は赤に変えたいのですが、もっと心配ですアプリがクラッシュする!):
-(IBAction)checkAnswer; { NSInteger StateRow = [pickerCapital selectedRowInComponent:karrayStateComponent]; NSInteger CapitalRow =[pickerCapital selectedRowInComponent:karrayCapitalComponent];
NSString *state = [arrayState objectAtIndex:StateRow];
NSString *capital = [arrayCapital objectAtIndex:CapitalRow];
NSLog (@"%i",[pickerCapital selectedRowInComponent:karrayCapitalComponent]);
NSLog(@"%i", [pickerCapital selectedRowInComponent:karrayStateComponent]);
NSString *Title = [[NSString alloc]initWithFormat:@"You have selected %@ as the capital of %@.", capital, state];
NSString *Message =[[NSString alloc]initWithFormat:lblMsg];
UIAlertView *alert =[[UIAlertView alloc]initWithTitle:Title message:Message delegate:@"" cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
if (StateRow == CapitalRow) {
lblMsg = @"You are correct!";
UIColor *myColor;
switch ([not sure what to use here]) {
case 0:
myColor = [UIColor greenColor];
break;
default:
break;
}
}
else {
lblMsg = @"Incorrect";
UIColor *myColor;
switch ([not sure what to use here]) {
case 0:
myColor = [UIColor redColor];
break;
default:
break;
}
}
}
誰かがこれについて何らかの助けを提供できるなら、私はそれを大いに感謝します! ありがとうございました!