应用程序崩溃按下后退按钮

时间:2011-04-08 13:32:06

标签: iphone crash

在我的应用程序中我有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'”

我希望有人知道如何解决这个问题

谢谢

2 个答案:

答案 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];

但请确保在不再需要时释放该对象。

From Apple Documentation

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

From Apple Documentation建议您使用

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error