如何引用Object并从NSMutableArray编辑它的属性?

时间:2010-01-14 20:22:40

标签: iphone objective-c

NSMutableArray *persons = [ [ NSMutableArray alloc ] init ];

如何在不执行以下操作的情况下编辑人员属性:

Person *p = [ [ Person alloc ] init ];
p = [ persons objectAtIndex:0 ];
p.name = "James Foo";
[ persons replaceObjectAtIndex: ([ persons count ] - 1 )  withObject:p];

我想做点什么:

[ persons objectAtIndex:0 ].name = "James Foo";

2 个答案:

答案 0 :(得分:6)

但你可以。您必须将通用ID转换为您的类型:

((Person *)[persons objectAtIndex:0])。name =“James Foo”;

答案 1 :(得分:2)

此示例代码也有内存泄漏;在这种情况下,您不需要分配新的人员实例;如果你不想施展任何东西,你可以做以下事情:

Person *p = [persons objectAtIndex:0];
p.name = @"James Foo";

并且您不需要将其重新添加到数组中,因为在某个位置获取对象不会自己将其从数组中删除。