【发布时间】:2010-07-30 15:48:27
【问题描述】:
我有这个返回文件路径的简单方法。我将文件名作为参数传递。然后,当我调用此方法时,此方法在设备上运行时返回“null”,但在模拟器上运行良好。是不是我做错了什么?
-(NSString*) getFilePathForFile:(NSString*)fileName
{
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [array objectAtIndex:0];
NSString *temp = [documentsDirectory stringByAppendingPathComponent:fileName];
return temp;
}
NSString *path = [self getFilePathForFile:@"settingInfo.plist"]
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
你有没有在调试器中单步执行过这个方法?您肯定可以更清楚地了解哪里出了问题?
-
我会添加一些
NSLog来看看事情的发展方向。NSLog(@"fileName = %@", fileName);、NSLog(@"array = %@", array);、NSLog(@"documentsDirectory = %@", documentsDirectory);和NSLog(@"temp = %@", temp);应该准确地告诉您问题出在哪里。这将使找出修复程序变得更加容易。 -
我已经尝试过 NSLog,当我们在方法内部时它确实打印了所有内容,但是当返回值时,它返回 null。我不明白为什么?
-
向我们展示包含 NSLogs 的代码以及您获得的输出。如果返回值
path为 nil,则显然所有内容都不是就在方法内部。 Objective-C 中没有已知的错误,即返回值在返回语句和分配它的调用者之间被转换。
标签: objective-c nsstring