在我的应用程序中我有2个视图
view1
{
[self.navigationController pushViewController:view2Controoler animated:YES];
}
视图2
在这里,当我按下后退按钮应用程序崩溃没有错误或警告
也在 view2 我正在使用以下代码
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager directoryContentsAtPath:documentsDirectory ];
xcode中的最后一条语句显示警告“directoryContentsAtPath
已被删除”,所以我尝试使用
NSArray *fileList = [manager directoryContentsAtPath:documentsDirectory error:NULL];
并且此语句显示“NSFileManager
可能无法响应directoryContentsAtPath:error
”仍然我仍尝试运行应用
应用程序崩溃,异常“原因:' - [NSFileManager directoryContentsAtPath:error:]:
无法识别的选择器发送到实例0x6302f50'”
我希望有人知道如何解决这个问题
谢谢
“
答案 0 :(得分:0)
NSFileManager没有+defaultManager
以外的类方法。您应该将– contentsOfDirectoryAtPath:error:
与您的文件管理器实例一起使用。
答案 1 :(得分:0)
我认为directoryContentsAtPath:
会返回一个自动释放的对象。
如果您在标题中将directoryContent设置为@property(nonatomic, retain)
,则可以使用
self.directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath: documentsDirectory];
它将自动保留NSFileManager
返回的对象,否则您可以调用
directoryContent = [[[NSFileManager defaultManager] directoryContentsAtPath: documentsDirectory] retain];
但请确保在不再需要时释放该对象。
directoryContentsAtPath:
Returns the directories and files (including symbolic links) contained in a given directory. (Deprecated in iOS 2.0. Use contentsOfDirectoryAtPath:error: instead.)
- (NSArray *)directoryContentsAtPath:(NSString *)path
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error