0

在 Last FM API 的 FMCallback 类中,此方法的 else 中的一行中出现 SIG_ABRT 错误。

- (void)fire {
if(_identifier == nil) {
    [_target performSelector:_selector withObject:_userInfo];
} else {
    [_target performSelector:_selector withObject:_identifier withObject:_userInfo];
}
}

控制台输出显示:

2011-05-29 13:52:24.533 QueryTesting[6918:707] +[LastFM loginCallback:data:]: unrecognized selector sent to class 0x19550
2011-05-29 13:52:24.625 QueryTesting[6918:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[LastFM loginCallback:data:]: unrecognized selector sent to class 0x19550'

这是什么意思?我的请求是否没有发送足够的信息?

编辑:这是创建 FMEngine 的代码(api key x'd out):

+ (void)logUserInWithUsername:(NSString *) username andPassword:(NSString *) password {

FMEngine *fmEngine;
fmEngine = [[FMEngine alloc] init];
NSString *authToken = [fmEngine generateAuthTokenFromUsername:username password:password];
NSDictionary *urlDict = [NSDictionary dictionaryWithObjectsAndKeys:username, @"username", authToken, authToken, _LASTFM_API_KEY_, @"XXXXXXXXXXXXXXXX", nil, nil];
[fmEngine performMethod:@"auth.getMobileSession" withTarget:self withParameters:urlDict andAction:@selector(loginCallback:data:) useSignature:YES httpMethod:POST_TYPE];    
}

- (void)loginCallback:(NSString *)identifier data:(id)data {
// data is either NSData or NSError
NSLog(@"Got Data (%@): %@", identifier, data);
}
4

1 回答 1

1

您已经定义了一个-[LastFM loginCallback:data:]方法,而不是+[LastFM loginCallback:data:].

于 2011-05-29T19:50:16.837 回答