我正在尝试发送包含多个对象的消息,但却无法让它工作。它使用一个消息(objectsArray)完美地工作,但不是两个。
PlayerData.h:
- (void)savePlayerData:(NSArray *)objectsArray andKey:(NSString *)keyString;
PlayerData.m:
- (void)savePlayerData:(NSArray *)objectsArray andkey:(NSString *)keyString {
以下是我尝试从另一个.m:
调用PlayerData的地方 NSString *keyString = [[NSString alloc] init];
keyString = @"key test";
PlayerData *accessPlayerDataFunction = [PlayerData new];
[accessPlayerDataFunction savePlayerData:objs andKey:keyString];
objs是NSArray。
我得到的错误是:
警告:类'PlayerData'的实现不完整 警告:'-savePlayerData:andKey:'未找到
的方法定义
答案 0 :(得分:4)
问题是你的选择器名称中有一个拼写错误(“.m”文件)。
在标题中你写 andKey (驼峰案例)
(void)savePlayerData:(NSArray *)objectsArray andKey:(NSString *)keyString;
并且在实现中你有 andkey (没有骆驼案例)
(void)savePlayerData:(NSArray *)objectsArray andkey:(NSString *)keyString
除此之外,你泄漏了记忆:
NSString *keyString = [[NSString alloc] init];
keyString = @"key test";
通过为变量指定@“key test”,您将松散对之前分配的原始对象的引用。您只需将@“key test”分配给keyString。