Objective c 请求非结构或联盟中的成员
以下是我的程序的一些背景:Objective c 请求非结构或联盟中的成员,objective-c,Objective C,以下是我的程序的一些背景:[self.channels]是一组频道对象。每个Channel对象都有一个名为channelId的合成字符串 编译 Channel *channel = [self.channels objectAtIndex:indexPath.row]; NSString *channelId = channel.channelId; 不编译 NSString *channelId = [self.channels objectAtIndex:indexPath.row].ch
[self.channels
]是一组频道
对象。每个Channel
对象都有一个名为channelId
的合成字符串
编译
Channel *channel = [self.channels objectAtIndex:indexPath.row];
NSString *channelId = channel.channelId;
不编译
NSString *channelId = [self.channels objectAtIndex:indexPath.row].channelId;
// Request for member 'channelId' in something not a structure or union
为什么我不能链接命令以获取
channelId
属性?我的代码的两个版本看起来是一样的…在您的第一个版本中,编译器知道您使用的是什么类型的对象,因为它使用通道*变量引用数据成员。在第二个版本中,编译器只知道可能返回NSObject,但不知道返回的对象是否属于某个类。您可以通过强制转换返回值来更改此设置:
NSString*channelId=((Channel*)[self.channels objectAtIndex:indexPath.row]).channelId;
相关侧栏中的:的可能重复项