我想在我的iPhone应用程序中保存一些用户特定的数据.我正在查看SQLite示例,它使用类似于此的东西:
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES ); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:dbName];
我想知道的是,"writableDBPath"对我的应用程序来说是独一无二的吗?是否存在我的"dbName"与另一个应用程序使用的同名文件冲突的风险?
在iPhone上,它们是独一无二的,因为已经完成了应用程序沙盒.但是,在常规mac上,NSDocumentDirectory只对用户是唯一的,如果您不使文件以某种方式唯一或创建特定于应用程序的子目录,则可能会出现名称冲突,所以如果不注意你曾经从iPhone到Mac.