目标C:访问作为对象属性的数组中的对象实例的属性

时间:2015-05-26 08:18:20

标签: ios objective-c macos properties casting

这似乎很简单,但我找不到确切的语法。

我有一个名为myObject的对象。它有一个叫做公司的财产。该数组中的每个对象都是Company类型的对象,它具有一个名为myid的属性。我只是试图访问类似于:

的myid属性(这是一个NSString)
NSLog(@"My id: %@", myObject.companies[0].myid);

Xcode建议上面的内容不正确,应该更改为:

NSLog(@"My id: %@", myObject->companies[0].myid);

这会产生错误“对象类型'id'找不到”属性'myid'。

所以,我尝试将结果转换为适当的类型,公司,使用:

NSLog(@"My id: %@", myObject->(Company *)companies[0].myid);

这在第二个括号中给出了“预期标识符”错误。我尝试了其他几种变体但没有成功。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

((Company*)myObject.companies[0]).myId

应该做的伎俩

答案 1 :(得分:0)

我会用更清晰,更易读的代码来实现,如下所示

Company *company =  myObject.companies[0];
NSLog(@"My id: %@", company.myid);