任何人都可以向我解释为什么我会收到这些警告:
Conflicting parameter types in implementation of 'setCardsSelected': 'NSMutableArray *' vs 'NSUInteger' (aka 'unsigned long')
Conflicting return type in implementatin of 'setCardsSelected': 'void' vs 'NSMutableArray *'
我只是想将NSUInteger
传递给一个函数。为什么这不起作用?我的方法声明错了吗?谢谢!
- (NSMutableArray *) setCardsSelected:(NSUInteger) index
{
if (!_cardsSelected) _cardsSelected = [[NSMutableArray alloc] init];
return _cardsSelected;
}
答案 0 :(得分:0)
修改:
问题是你已经定义了属性cardsSelected
,相关的setter是setCardsSelected:
(当然是-(void)setCardsSelected:(NSMutableArray*)array
)。
您必须更改您的方法名称(与selectCards:
相邻吗?)或使用其他设置器声明您的属性,如下所示:
@property ( nonatomic, strong, setter=setterSelector: ) NSMutableArray * cardsSelected
我认为重命名你的方法更合适。
是的,你的方法声明是错误的。
我猜你要覆盖子类中的方法setCardsSelected:
;在超类(或采用的协议)中我猜它是-(void)setCardsSelected:(NSMutableArray*)array