向对象发送消息

时间:2010-11-20 12:37:27

标签: iphone objective-c messaging

我正在尝试发送包含多个对象的消息,但却无法让它工作。它使用一个消息(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:'未找到

的方法定义

1 个答案:

答案 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。