我创建了一个自定义对象,其中定义了 3 个属性。我创建对象并将值分配给这些属性。之后我将该对象放入 NSMutable Array
。我知道我可以使用:
for (id obj in personArray)
{
NSLog(@"obj: %@", obj);
}
NSLog(@"%@", personArray);
告诉我数组中有哪些对象。但我想更深入一点,我希望能够看到每个对象的属性是什么。我只是不确定如何定位他们。
这是代码,我正在使用: 人是我的自定义对象。
personObject = [[Person alloc]init];
[personObject setFirstName:firstName.text];
[personObject setLastName:lastName.text];
[personObject setEmail:emailAddress.text];
// add the person object to the array
// the array was alloc and init in a method above this code.
[personArray addObject:personObject];
for (id obj in personArray)
{
NSLog(@"obj: %@", obj);
}
NSLog(@"%@", personArray);
最佳答案
您必须在 Person 类中使用 description
方法
-(NSString *)description{
return @"FirstName: %@, LastName: %@, E-mail: %@",
_firstName, _lastName, _email;
}
通过这种方式,您可以始终打印 NSArray
中的对象,但您将返回您之前在特定对象的描述方法中定义的值,而不是内存描述。
如果您只想对 NSArray
中的元素执行此操作,请使用占位符:
NSLog(@"FirstName: %@, LastName: %@, E-mail: %@",
obj.firstname, obj.lastname, obj.email);
两者没有太大区别,但更有用,因为一旦创建了描述方法就不必重写它,只需打印对象即可。
关于ios - 如何打印出(NSLog)添加到 NSMutableArray 的自定义对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19340423/