从数组中的对象获取属性

时间:2014-04-11 02:10:01

标签: ios objective-c

我无法从数组中获取NSString属性。我有一个NSArray由一个名为JSMessage的对象组成。这个对象的内部是一个名为sender的字符串,我正在尝试检索。目前,我只是想将它打印到日志中。这是我正在尝试的代码:

NSLog(@"%@",[[self.messages [objectAtIndex:indexPath.row]].sender ]);

我收到关于我的括号的错误,另一个告诉我objectAtIndex是未声明的标识符。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

应为[self.messages objectAtIndex:indexPath.row]

从这里你可以看到某个索引中的对象。

获取JSMessage对象:

JSMessage *jSMessageObj = [self.messages objectAtIndex:indexPath.row];

答案 1 :(得分:1)

好吧,想一想。您的代码包含短语[objectAtIndex。但方法名称​​永远不会成为方括号中的第一个东西。方括号中的第一件事必须是发送消息的接收者。

例如,您说[myString lowercaseString]。你没有说[lowercaseString]。但这就是你所说的。

答案 2 :(得分:0)

除了删除所有额外括号外,您还可以执行以下操作:

NSLog(@"%@", [self.messages[indexPath.row] sender]);

这使用现代语法来访问NSArray中的元素。由于数组访问返回类型为id的对象,因此您无法使用属性语法直接访问对象的属性。你需要调用上面显示的getter方法。