を破ります。 NSMuteableDictionaryに格納されたデータを使用してそれらを追加します。ここでこれを行うより良い方法はありますか?ループを使用したいが、それは私が6席のUIViewオブジェクトに最大6つのプレーヤーのオブジェクトを追加しています次のコードの塊を持って
は、それが現時点でどのように見えるかです:ループを使用してこのコードを合理化する方法は
MoneyCentralAppDelegate *delegate = (MoneyCentralAppDelegate *) [[UIApplication sharedApplication] delegate];
//add player1
NSMutableDictionary *player1Dictionary = [[delegate appDataDictionary] valueForKey:@"Player1"];
Player *player1 = [[Player alloc] initWithFrame:CGRectMake(0,0,0,0)];
player1.playerName = [player1Dictionary [email protected]"PlayerName"];
player1.avatar = [UIImage imageNamed:[player1Dictionary valueForKey:@"Avatar"]];
[seat1 setAlpha:1];
[seat1 addSubView:player1];
//add player2
NSMutableDictionary *player2Dictionary = [[delegate appDataDictionary] valueForKey:@"Player2"];
if ([player2Dictionary valueForKey:@"PlayerName"] != @"Enter your name") {
Player *player2 = [[Player alloc] initWithFrame:CGRectMake(0,0,0,0)];
player2.playerName = [player2Dictionary [email protected]"PlayerName"];
player2.avatar = [UIImage imageNamed:[player2Dictionary valueForKey:@"Avatar"]];
[seat2 setAlpha:1];
[seat2 addSubView:player2];
}
//And so on for another 4 more players...
ありませんか?私は、次のことを試してみたが、それは動作しません:
for (int i=1; i=6, i++) {
[self addPlayerToBoard:i];
}
- (void) addPlayerToBoard:(int)playerNumber {
MoneyCentralAppDelegate *delegate = (MoneyCentralAppDelegate *) [[UIApplication sharedApplication] delegate];
NSMutableDictionary *playerDictionary;
NSString *thePlayer;
Seat *seat;
switch (playerNumber) {
case 1:
thePlayer = @"Player1";
seat = seat1;
break;
case 2:
thePlayer = @"Player2";
seat = seat2:
break;
case 3:
//and so on to 6
}
playerDictionary = [[delegate appDataDictionary] valueForKey:thePlayer];
if ([playerDictionary valueForKey:@"PlayerName"] != @"Enter your name") {
Player *newPlayer = [[Player alloc] initWithFrame:CGRectMake(0,0,0,0)];
newPlayer.playerName = [playerDictionary valueForKey:@"PlayerName"];
newPlayer.avatar = [UIImage imageName:[playerDictionary valueForKey:@"Avatar"]];
[seat setAlpha:1];
[seat addSubView:newPlayer];
}
}
を私の知る限り、このコードは良いですが見ることができるように。それはエラーや警告なしでコンパイルしますが、私は新しいゲームを開始しようとすると、そのコードを実行しようとするとアプリケーションが停止します。
また、PlayerName!= @ "Enter your name"の値が、毎回6人のプレイヤーで終わるので、どういうことでも、真に評価されるかどうかをチェックするifステートメントです。それはnsmutabledictionaryの文字列の値をチェックする間違った方法ですか?
これはたくさん見ていますが、ここでは何か助けや提案をいただければ幸いです。
ありがとうございます。
タイトルを調整しました。うまくいけばそれは良いです。 – dutsnekcirf