我用stringWithContentsOfFile发出警告,参数usedEncoding?

时间:2012-06-18 08:31:24

标签: objective-c ios utf-8 nsstring

我只是试过这个:

NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Docs/data.txt"];
NSString *dataFile = [NSString stringWithContentsOfFile:docPath usedEncoding:NSUTF8StringEncoding error:NULL];

使用这个,我收到了这个警告:

  

不兼容的整数到指针转换将'int'发送到'NSStringEncoding *'类型的参数(又名'unsigned int *');

有什么问题?

2 个答案:

答案 0 :(得分:5)

而不是

NSString *dataFile = [NSString stringWithContentsOfFile:docPath usedEncoding:NSUTF8StringEncoding error:NULL];

使用

NSString *dataFile = [NSString stringWithContentsOfFile:docPath 
                                           encoding:NSUTF8StringEncoding 
                                                  error:NULL];

答案 1 :(得分:2)

或者您可以使用

NSStringEncoding *encoding = nil;
NSString *dataFile = [NSString stringWithContentsOfFile:docPath usedEncoding:encoding error:nil];

但奥马尔是对的..用“编码”代替“usedEncoding”,你就可以了。