我无法从数组中获取NSString
属性。我有一个NSArray
由一个名为JSMessage
的对象组成。这个对象的内部是一个名为sender
的字符串,我正在尝试检索。目前,我只是想将它打印到日志中。这是我正在尝试的代码:
NSLog(@"%@",[[self.messages [objectAtIndex:indexPath.row]].sender ]);
我收到关于我的括号的错误,另一个告诉我objectAtIndex
是未声明的标识符。
我做错了什么?
答案 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方法。