0

私の配列には、各インデックスに (firstName,lastName, age) が含まれています。インデックス 1 の人の年齢を変更したいのですが、その方法を教えてください。これが私のコードです。

  - (void)viewDidLoad {
[super viewDidLoad];
productArray=[[NSMutableArray alloc]init];

PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Adeem";
personObj.lastName = @"Basraa";
personObj.age = @"5";

[productArray addObject:personObj];
[personObj release];

PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Ijaz";
personObj.lastName = @"Ahmed";
personObj.age = @"10";

[productArray addObject:personObj];
[personObj release];

PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Waqas";
personObj.lastName = @"Ahmad";
personObj.age = @"15";
[productArray addObject:personObj];
[personObj release];

}

4

6 に答える 6

5
Person *person = (Person *)[myArray objectAtIndex:1];
person.age = 2;

Personカスタムオブジェクトが配列に格納されていると仮定します

于 2012-04-18T06:51:28.307 に答える
4

これを使って

[arrname replaceObjectAtIndex:1 withObject:[NSNumber numberWithInt:13]];//13 is the age you want to change
于 2012-04-18T06:51:18.983 に答える
4

NSMutableDictionary名前、年齢、電話、住所を保存し、この辞書を配列に追加するために使用する必要があります。

[[arry objectAtIndex:1] setObject:@"value" forKey:@"key"];

このように値を変更できます。

于 2012-04-18T06:56:53.540 に答える
2

これを試して

   -insertObject:atIndex: or replaceObjectAtIndex:withObject:
于 2012-04-18T06:55:15.593 に答える
2

おそらくこれはあなたを助けるでしょう。

- (void)viewDidLoad {
[super viewDidLoad];
productArray=[[NSMutableArray alloc]init];

PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Adeem";
personObj.lastName = @"Basraa";
personObj.phoneNumber = @"123456789";

[productArray addObject:personObj];
[personObj release];

PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Ijaz";
personObj.lastName = @"Ahmed";
personObj.phoneNumber = @"987654321";

[productArray addObject:personObj];
[personObj release];

PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Waqas";
personObj.lastName = @"Ahmad";
personObj.phoneNumber = @"45656789";
[productArray addObject:personObj];
[personObj release];
}

- (void)change {

for (int i=0;i<[productArray count];i++) {
          PersonDetail *personObj = (PersonDetail *)[[productArray objectAtIndex:i] retain];
          personObj.phoneNumber = @"New";
    }
}
于 2012-04-18T07:03:16.733 に答える
1

あなたがオブジェクトでNSMutableArray構成されていると仮定すると、NSMutableDictionary

このようなものを試してください:

NSMutableDictionary* entry = [entries objectAtIndex:index];

[entry setValue:@"newAge" forKey:@"Age"];
于 2012-04-18T06:51:16.980 に答える