0

申し訳ありませんが、コーディングを始めてまだ 1 週間ほどですが、この質問はおそらく非常に単純です。私は Objective-C を使用しており、配列と文字列について学び始めました。私はそれらを理解していますが、何百もの異なる文字列で非常に大きな配列を作成している場合、すべての値と文字列をハードコードするのに長い時間がかかります. 行く代わりに

char listOfString[300];
listOfString[0] = "ha";
listOfString[1] = "hi";

すべての値とインデックスをコーディングする代わりに、もっと簡単な方法があれば。

私は長い間プログラミングをしていないので、すべての回答やコメントを非常に単純なレベルにしてください。前もって感謝します。

4

2 に答える 2

0

配列と文字列について学び始めました。私はそれらを理解しています

私はあなたがしないと思います。あなたはObjective-Cを学んでいると言っていますが、あなたの例ではObjective-CではなくC文字列とC配列を使用しています。C 文字列/C 配列を Objective-C の NSString および NSArray と混同しないでください。ほとんどの場合、後者を使用します。そして NSArrays は、それらを構築するための素晴らしい表記法を提供します:

NSArray* arr = @[@"ha", @"hi", @"ho"];

Objective-C は C のスーパーセットであるため、C を学習しているのは良いことですが、ほとんどの場合は Objective-C を使用します。

于 2013-05-11T04:02:34.920 に答える
0

これを試さずに、

char listOfString[300];
listOfString[0] = "ha";
listOfString[1] = "hi";

これは、必要なものの Objective-c バージョンです (可変長配列は可変長配列です)。

NSMutableArray *myStringArray = [[NSMutableArray alloc] init];
[myStringArray addObject:@"ha"];
[myStringArray addObject:@"hi"];


それらにアクセスするには?

[myStringArray objectAtIndex:number] を呼び出すと、その特定のインデックスのオブジェクトが返されるため、

NSLog(@"%@",[myStringArray objectAtIndex:0]); //prints->ha
NSLog(@"%@",[myStringArray objectAtIndex:1]); //prints->hi
于 2013-05-11T03:59:41.197 に答える