开发者社区 问答 正文

应用报出了不兼容指针错误

正在读取UTF8编写的txt文件。

代码:

- (NSString *) readFromFile {

    NSArray *paths = NSSearchPathForDirectoriesInDomains
    (NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];


    NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",
                          documentsDirectory];
    return [[NSString alloc] initWithContentsOfFile:fileName
                        usedEncoding:NSUTF8StringEncoding
                        error:nil];
}

在最后一行报错:
`
incompatible integer to pointer conversion sending int to parameter of type NSUTF8StringEncoding
`

展开
收起
爵霸 2016-03-24 09:37:53 1846 分享 版权
1 条回答
写回答
取消 提交回答
  • usedEncoding这个参数是用来传递调用方的返回值。
    因此需要声明一个变量,传递关联给它

    NSStringEncoding enc;
    
    NSString *result = [[NSString alloc] initWithContentsOfFile:fileName
                        usedEncoding: &enc
                        error:nil];
    
    // Do something with the information about the encoding used
    if ( enc == NSUTF8StringEncoding ) {
         // ...
    }
    
    return result;
    2019-07-17 19:11:56
    赞同 展开评论
问答标签:
问答地址: