0

私はiOSアプリを良い子に更新し、非推奨のメソッドを一掃しています。私は使用しておりNSString initWithContentsOfURL、新しいバージョンを実装しようとしていinitWithContentsOfURL:usedEncoding:error:ます。

ビューコントローラーで次を使用しました:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL *url = [[NSURL alloc] initWithString:@"http://myurl.com/directory/file.txt"];
    NSError *error;
    NSStringEncoding *encoding = NULL;
    NSString *tryString = [[NSString alloc] initWithContentsOfURL:url
                                                 usedEncoding:encoding
                                                        error:NULL];
    NSLog(@"string:%@", tryString);
    [super viewDidLoad];
}

しかし、その時点で糸切れが続いていますerror:NULLerror:nil事前定義されたエラーオブジェクトへのポインターを使用しようとしましたが、同じことが起こりますnilNULL誰にでもアイデアやヒントがあります。

4

2 に答える 2

2
NSError *error = nil;
NSStringEncoding encoding = 0;

NSString *tryString = [[NSString alloc] initWithContentsOfURL:url
                                                 usedEncoding:&encoding
                                                        error:&error];
于 2013-03-07T22:21:22.877 に答える
1

エラーとエンコーディングの両方が次のように渡される必要があります。

NSError *error = nil;
NSStringEncoding encoding = nil;

NSString *tryString = [[NSString alloc] initWithContentsOfURL:url
                                                 usedEncoding:&encoding
                                                        error:&error];
于 2013-03-07T22:06:02.287 に答える