2012-01-10 2 views
-2

'[SBJsonParser objectWithString : 오류 :] 알 수없는 선택기 예를 0x6695330로 전송' 이 방법에서'NSInvalidArgumentException', 이유는 : -</p> <pre><code>'NSInvalidArgumentException', reason: '-[SBJsonParser objectWithString:error:]: unrecognized selector sent to instance 0x6695330' </code></pre> <p>그것은이다 : 내 아이폰 응용 프로그램에 로그인 뷰를 작성, 나는이 오류로 실행하는 동안

NSDictionary *results = [parser objectWithString:json_string error:nil]; 

:이 라인에서 오는

+ (BOOL)loginWithUsername:(NSString *)username password:(NSString *)password 
{ 
    NSString *urlString = [NSString stringWithFormat:@"%@login3", ROSE_ROOT_URL]; 
    NSURL *url = [NSURL URLWithString:urlString]; 


    NSString *requestString = [NSString stringWithFormat:@"&mobile=1&username=%@&password=%@", username, password]; 


    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; 
    [request setHTTPMethod:@"POST"]; 
    [request setHTTPBody:[NSData dataWithBytes:[requestString UTF8String] length:[requestString length]]]; 

    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 

    [request release]; 
    // parse the JSON response into an object 
    // Here we're using NSArray since we're parsing an array of JSON product objects 
    SBJsonParser *parser = [[SBJsonParser alloc] init]; 
    NSDictionary *results = [parser objectWithString:json_string error:nil]; 

    [json_string release]; 
    [parser release]; 


    // NSDictionary *results = [RoseFetcher fetch:request]; 
    // [request release]; 

    if ([[results objectForKey:@"password"] intValue] == 0) 
     return NO; 

    return YES; 
} 

어떤 도움이나 설명을 대단히 감사하겠습니다.

+0

JSON 라이브러리를 업데이트해야 할 수 있습니까? –

+0

헤더 파일을 가져 왔습니까? – Pfitz

+0

물론 필요한 파일을 가져 왔습니다. –

답변

3

documentation for SBJsonParser에 따르면 -objectWithString:error:이라는 메서드가 없습니다.이 메서드는 런타임에 발견 한 내용에 의해 뒷받침됩니다. 메시지를 보내려고 처럼에 응답합니다.

+0

흠 나는 그것을 시도 할 것이다. 고맙습니다. 나는 그것이 objectWithString이 아닌 메소드라고 믿는다 : error. Xcode에서 경고합니다. 그레이엄 감사합니다! 내가 그것을 알아 냈을 때 prob는 대답을 받아 들일 것인가? :) –

+0

그레이엄 당신 말이 맞아. 내가 오류를 제거했을 때 : 아무 일도 없었습니다. 다시 한 번 감사드립니다! 당신의 대답을 수락 할 것입니다. –

+0

나를 위해 일했습니다! 비록 내가 SBJSON.m에 대한 코드에서 objectWithString을위한 메소드를 볼 수는 있지만 : error : – Smikey