问题描述
|
我有一个NSMutableArray,它存储其他数组的列表。而当我运行代码。
NSLog(@\"%@\",[[appDelegate teamRoster]objectAtIndex:[indexPath.row]class])
它返回并告诉我我正在查看一个数组,
但是,当我尝试执行以下操作时
[selectedRowerView tempArray] = [[appDelegate teamRoster]objectAtIndex:[indexPath.row]];
程序错误退出。任何人都知道为什么会发生这种情况吗?
解决方法
您必须了解“ 2”实际上是正在发送的命令/消息。在C ++等效语言中,您正在调用
selectedRowerView->tempArray() = ...
。这没有逻辑意义,因为您无法对函数进行赋值。
您要尝试的是设置tempArray。如果您具有正确的设置器/获取器设置,则可以运行:selectedRowerView.tempArray = ...;
只需确保tempArray有一个@property
并且是@synthesize
\ d即可。
, 这个怎么样?
selectedRowerView.tempArray = [[appDelegate teamRoster]objectAtIndex:[indexPath.row]];
…假设ѭ8是合成财产
@property (nonatomic,readwrite,retain) NSArray *tempArray;
@synthesize tempArray;
澄清:
selectedRowerView.tempArray = …;
经过内部处理
[selectedRowerView setTempArray:…];
这是设置方法。
而
selectedRowerView.tempArray;
经过内部处理
[selectedRowerView tempArray];
这是一种吸气方法。
细微但重要的区别。
foo.bar
的含义取决于所使用的上下文(包含表达式)。