ios – 如何打印(NSLog)添加到NSMutableArray的自定义对象的属性

前端之家收集整理的这篇文章主要介绍了ios – 如何打印(NSLog)添加到NSMutableArray的自定义对象的属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个自定义对象,我创建与它定义的3个属性.我创建对象并将值分配给这些属性.之后,我将该对象放入一个NSMutable数组.我知道我可以使用:
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类中使用描述方法
-(NSString *)description{

    return @"FirstName: %@,LastName: %@,E-mail: %@",_firstName,_lastName,_email;
}

这样,您可以始终打印您在NSArray内部的对象,而不是内存描述,您将在特定对象的描述方法中返回您之前定义的值.

如果您只想使用NSArray中的元素来使用占位符:

NSLog(@"FirstName: %@,obj.firstname,obj.lastname,obj.email);

没有什么区别,但它更有用,因为一旦你创建了描述方法,你就不需要重写了,你只需要打印对象.

猜你在找的iOS相关文章