Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用stringWithContentsOfFile读取文件时出现问题:_Objective C_Xml_Cocoa Touch_Ios_Uitextview - Fatal编程技术网

Objective c 使用stringWithContentsOfFile读取文件时出现问题:

Objective c 使用stringWithContentsOfFile读取文件时出现问题:,objective-c,xml,cocoa-touch,ios,uitextview,Objective C,Xml,Cocoa Touch,Ios,Uitextview,在我的应用程序中,我必须读取XML文件并将其显示在UITextView中。为此,我尝试了下面的代码。此代码导致崩溃;谁能告诉我确切的错误吗?我希望我写得好。请帮帮我。多谢各位 -(IBAction)xmlParse{ NSString *xmlPath=[[[[UIApplication sharedApplication]delegate] applicationDocumentDirectory]stringByAppendingPathComponent:@"xmlFile/to

在我的应用程序中,我必须读取XML文件并将其显示在
UITextView
中。为此,我尝试了下面的代码。此代码导致崩溃;谁能告诉我确切的错误吗?我希望我写得好。请帮帮我。多谢各位

-(IBAction)xmlParse{

    NSString *xmlPath=[[[[UIApplication sharedApplication]delegate] applicationDocumentDirectory]stringByAppendingPathComponent:@"xmlFile/toc.xml"];
    NSError *error=nil;
    NSString *fileContent=[NSString stringWithContentsOfFile:xmlPath usedEncoding:NSASCIIStringEncoding error:NULL];
    xmlDisplay.text=fileContent;

}
替换

NSString *fileContent=[NSString stringWithContentsOfFile:xmlPath usedEncoding:NSASCIIStringEncoding error:NULL];

您不应忽略“stringWithContentsOfFile:usedEncoding:error:”的
assing参数2,该参数从整数生成指针,但没有强制转换
编译器向您显示的警告。

替换

NSString *fileContent=[NSString stringWithContentsOfFile:xmlPath usedEncoding:NSASCIIStringEncoding error:NULL];


您不应该忽略“stringWithContentsOfFile:usedEncoding:error:”的
assing参数2,该参数从整数生成指针,而不带强制转换
编译器向您显示的警告。

我之前也遇到过同样的问题。最好将xml文件保存在文档目录本身而不是任何子文件夹中。请尝试保存到文档目录中。希望应该起作用

或者你可以试试

-(IBAction)xmlParse{

NSString *xmlPath=[[[[UIApplication sharedApplication]delegate] applicationDocumentDirectory]stringByAppendingPathComponent:@"xmlFile/toc.xml"];
NSError *error=nil;
NSString *fileContent=[NSString stringWithContentsOfFile:xmlPath usedEncoding:NSASCIIStringEncoding error:NULL];
if(nil!=fileContent)
xmlDisplay.text=fileContent;

我之前也面临同样的问题。最好将xml文件保存在文档目录本身而不是任何子文件夹中。请尝试保存到文档目录中。希望应该起作用

或者你可以试试

-(IBAction)xmlParse{

NSString *xmlPath=[[[[UIApplication sharedApplication]delegate] applicationDocumentDirectory]stringByAppendingPathComponent:@"xmlFile/toc.xml"];
NSError *error=nil;
NSString *fileContent=[NSString stringWithContentsOfFile:xmlPath usedEncoding:NSASCIIStringEncoding error:NULL];
if(nil!=fileContent)
xmlDisplay.text=fileContent;

请添加控制台错误消息。请添加控制台错误消息。+1谢谢您的工作。您可以为这两个语句提供更多详细信息吗?不同的。
usedEncoding:
方法尝试为您找出编码。它会将使用的编码分配给您提供的指针。因此,该方法尝试为地址1分配一个值(NSASCIIStringEncoding的值)。由于这是一个您不应该写入的地址,您将得到一个错误的访问异常。有关更多详细信息,请参阅文档。+1感谢您的工作。您可以为这两种语句提供更多详细信息吗?
usedEncoding:
方法尝试为您找出编码。它会将使用的编码分配给您提供的指针。因此,该方法尝试为地址1分配一个值(NSASCIIStringEncoding的值)。由于这是一个您不应该写入的地址,您将得到一个错误的访问异常。有关更多详细信息,请参阅文档。