Objective c iPod Touch和iPhone中的文档目录
我正在设计一个应用程序,将数据读取到iPod touch/iPhone,然后通过UDP多播套接字发送到iPod touch/iPhone,我需要将其作为文件存储在文档目录中。iPhone或ipodtouch上是否有这种功能?我知道有NSFileHandle和NSFileManager,这是我计划使用的,负责读取和写入文件,但如果你知道我在说什么,我不确定iPod touch的“我的文档”部分在哪里。我对iPod/iPhone文件目录还不太熟悉,所以非常感谢您的帮助!是否有某种“通用”目录,所有开发人员都可以使用它来存储他们的文件,如果他们的应用程序中涉及到任何文件?您应该使用应用程序的文档目录来存储持久文件。您可以使用此功能获取目录的路径,Apple在其使用核心数据的应用程序模板中包括此功能:Objective c iPod Touch和iPhone中的文档目录,objective-c,xcode,ipod-touch,directory-structure,Objective C,Xcode,Ipod Touch,Directory Structure,我正在设计一个应用程序,将数据读取到iPod touch/iPhone,然后通过UDP多播套接字发送到iPod touch/iPhone,我需要将其作为文件存储在文档目录中。iPhone或ipodtouch上是否有这种功能?我知道有NSFileHandle和NSFileManager,这是我计划使用的,负责读取和写入文件,但如果你知道我在说什么,我不确定iPod touch的“我的文档”部分在哪里。我对iPod/iPhone文件目录还不太熟悉,所以非常感谢您的帮助!是否有某种“通用”目录,所有开
/**
Returns the path to the application's documents directory.
*/
- (NSString *)applicationDocumentsDirectory {
NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
return basePath;
}
最近,核心数据应用程序的模板提供了如下代码:
- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}
如果从NSSearchPathForDirectoriesInDomains返回的NSArray为空,则lastObject返回nil,因此代码更短、更干净
有一件事您应该注意——在iOS 5中,您不应该将非用户生成的数据放在Documents目录中。您的应用可能被拒绝。相反,您应该考虑将此类日志放入缓存
目录中。要获取此目录的路径,需要在上面的示例代码中将NSDocumentDirectory
替换为NSCachesDirectory