iOSアプリ開発初心者です。現在、画面に2つの単語を表示し、ユーザーが1つを選択すると、アプリは選択したxを出力する非常に単純なアプリケーションに取り組んでいます。
2 つの plist を作成し、それらを配列にロードして配列内でランダム化しました。私の見解では、単語を表示するボタンが 2 つあります。しかし、私は 2 つの問題を抱えています.. 1 。アプリの起動時にボタンのラベルを変更したい。したがって、ユーザーはボタンなどをタップする必要はありません。2. array_1 (plist からロードされた) からの 1 つのランダムな単語をランダムなボタンに表示したい。button_1 または button_2 のいずれかであり、リスト array_2 についても同じです。
これが私がこれまでに行ったことです。(フォーラムの助けを借りて (: )
- (IBAction)buttonpressed:(id)sender {
// Load contents of plist onto array
NSString *path = [[NSBundle mainBundle] pathForResource:@"wordsOne" ofType:@"plist"];
NSMutableArray *words = [NSMutableArray arrayWithContentsOfFile:path];
//shuffle them using Fisher–Yates shuffle algorithm
for (int i = words.count-1; i>=0; i--) {
int r = arc4random_uniform(words.count);
[words exchangeObjectAtIndex:i withObjectAtIndex:r];
}
// assign word to the button
for (int j =0; j<_WordButton.count; j++) {
UIButton *button = [_WordButton objectAtIndex:j];
button.titleLabel.text = [words objectAtIndex:j];
}
}
上記のコードには明らかに欠陥があります。たとえば、plist を 1 つだけ使用し、両方のボタンに単語をランダムに表示しません。