Objective C:访问数组中的对象实例的属性,该数组是对象的 属性
Objective C: Accessing properties of an object instance that's in an array that's a property of an object
这似乎是一件简单的事情,但我找不到确切的语法。
我有一个名为 myObject 的对象。它有一个名为公司的 属性。该数组中的每个对象都是 Company 类型的对象,它有一个名为 myid 的 属性。我只是想访问 myid 属性(这是一个 NSString),类似于:
NSLog(@"My id: %@", myObject.companies[0].myid);
Xcode 建议以上不正确,应改为:
NSLog(@"My id: %@", myObject->companies[0].myid);
这会产生错误 "Property 'myid' not found for object type 'id'"。
所以,我尝试将结果转换为正确的类型 Company,方法如下:
NSLog(@"My id: %@", myObject->(Company *)companies[0].myid);
这让我在第二个括号处出现 "expected identifier" 错误。我尝试了其他几种变体都没有成功。
我错过了什么?
((Company*)myObject.companies[0]).myId
应该可以解决问题
我会用更清晰、更易读的代码来完成,如下所示
Company *company = myObject.companies[0];
NSLog(@"My id: %@", company.myid);
这似乎是一件简单的事情,但我找不到确切的语法。
我有一个名为 myObject 的对象。它有一个名为公司的 属性。该数组中的每个对象都是 Company 类型的对象,它有一个名为 myid 的 属性。我只是想访问 myid 属性(这是一个 NSString),类似于:
NSLog(@"My id: %@", myObject.companies[0].myid);
Xcode 建议以上不正确,应改为:
NSLog(@"My id: %@", myObject->companies[0].myid);
这会产生错误 "Property 'myid' not found for object type 'id'"。
所以,我尝试将结果转换为正确的类型 Company,方法如下:
NSLog(@"My id: %@", myObject->(Company *)companies[0].myid);
这让我在第二个括号处出现 "expected identifier" 错误。我尝试了其他几种变体都没有成功。
我错过了什么?
((Company*)myObject.companies[0]).myId
应该可以解决问题
我会用更清晰、更易读的代码来完成,如下所示
Company *company = myObject.companies[0];
NSLog(@"My id: %@", company.myid);