NSString initWithContentsOfURL问题

时间:2013-03-07 22:03:50

标签: ios objective-c

我正在更新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:NULL点得到一个断线。我已经尝试error:nil并使用指向预定义错误对象的指针nilNULL,但同样的事情发生了。有没有任何想法或提示。

2 个答案:

答案 0 :(得分:2)

NSError *error = nil;
NSStringEncoding encoding = 0;

NSString *tryString = [[NSString alloc] initWithContentsOfURL:url
                                                 usedEncoding:&encoding
                                                        error:&error];

答案 1 :(得分:1)

错误和编码都应该像这样传递:

NSError *error = nil;
NSStringEncoding encoding = nil;

NSString *tryString = [[NSString alloc] initWithContentsOfURL:url
                                                 usedEncoding:&encoding
                                                        error:&error];