NSMutableArray无法打印正确的数据 - iOS / Objective C

时间:2014-03-13 12:11:27

标签: ios objective-c

我正在努力让我的阵列打印正确的数据。

我已将它链接到一个按钮,因此它获取文本字段数据并将其添加到Person类,该类具有一个名为PhoneBookEntry的子类,其中包含firstName,然后将其添加到名为entries的NSMutableArray中。这是按钮代码:

PhonebookEntry *person = [[PhonebookEntry alloc] init];

self.firstName.text = person.firstName;

[self.entries addObject:person];


NSLog(@"%@", self.entries);

这是我初始化所有内容的开始:

@interface ViewController ()

@property (nonatomic, strong) PhonebookEntry *person;
@property (nonatomic, strong) NSMutableArray *entries;

@end

在我的viewDidLoad中,这是创建NSArray的代码。

self.entries = [NSMutableArray arrayWithCapacity:1];

我已经测试过,当正常添加和打印等时,它工作正常,而不是数组。

由于

输出

test,
test2,
"<PhonebookEntry: 0x8c69770>"

2 个答案:

答案 0 :(得分:2)

这个self.firstName.text = person.firstName;应该是另一种方式,所以将其更改为:

person.firstName = self.firstName.text;

答案 1 :(得分:2)

正确打印。

实际上,您需要从代码或Objective-C中获取更多内容。

为此,您需要覆盖PhonebookEntry中的描述,以打破NSLog可以打印的级别。 NSLog无法打印person个对象值。

-(NSString *)description{
    return [NSString stringWithFormat:@"%@ , %@", self.firstName, self.lastName];
}