0

実装ファイルにエラーがあり、修正できないようです。エラーをコメントアウトしました。このエラーを修正するにはどうすればよいですか?

#import "FilmSearchService.h"


@implementation FilmSearchService
@synthesize searchTerm;
@synthesize delegate;

@synthesize results;
-(void)main {
    NSString *api_key = @"1234";
    NSString *search_term = [searchTerm stringByAddingPercentEscapeUsingEncoding:NSASCIIStringEncoding]; // no visible @ interface for 'NSString' declares the selector 'stringByAddingPercentEscapeUsingEncoding'
    NSString *url = [NSString stringWithFormat:@"http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=%@&q=%@", api_key, search_term];

    NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:url]
                                              cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
    NSData *responseData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:nil];

    if (responseData != nil) {
        NSError *error = nil;
        NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

        if (error) {
            [delegate serviceFinished:self withError:YES];
        } else {
            results = (NSArray *) [json valueForKey:@"movies"];
            [delegate serviceFinished:self withError:NO];
        }
    } else {
        [delegate serviceFinished:self withError:YES];
    }
}@end

filmsearchservice ヘッダー ファイル:

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "ServiceDelegate.h"

@interface FilmSearchService : NSOperation
{
    NSString *searchTerm;
    id<ServiceDelegate> delegate;
    NSArray *results;
}

@property (nonatomic, retain) NSString *searchTerm;
@property (nonatomic, retain) id<ServiceDelegate> delegate;

@property (nonatomic, retain) NSArray *results;


@end

修正するのが比較的簡単な問題である場合は申し訳ありません。私は客観的 c にかなり慣れていないので、しばらくお待ちください。

ありがとうございました。

4

2 に答える 2

3

文字列メソッドはstringByAddingPercentEscape *s* UsingEncodingであり、 stringByAddingPercentEscapeUsingEncodingではありません

于 2013-10-20T22:00:34.157 に答える
0

@ExitToShell は正しいです。コンパイラは、その文字列メソッドのスペルミスに明らかに不満を持っています。これが「記述例」です。

NSString *search_term = [searchTerm stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

stringByAddingPercentEscapeUsingEncoding文字列のメソッドではない と書かれていないことに注意してください。

(a) ExitToShell の回答を正しいとマークし、(b) 他の SO の質問に戻って、受け入れ率を現在の約 33% よりも改善するように努めるべきだと思います。

于 2013-10-20T23:03:38.173 に答える