Der*_*ick 3 iphone core-data nsurl nsstring nsmanagedobject
我正在使用核心数据和区域监控.区分受监视区域的唯一方法是使用NSString作为标识符.我喜欢使用NSManagedObjectID,但我无法让它工作.
我尝试过的:
NSURL *objURL = [managedObjectID URIRepresentation];
NSError *err;
NSString *identifier = [NSString stringWithContentsOfURL:myURL
encoding:NSASCIIStringEncoding
error:&err];
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
The operation couldn’t be completed. (Cocoa error 256.)
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?或者我做错了什么?
你不应该得到的URI 的内容NSManagedObjectID.stringWithContentsOfURL:encoding:error:尝试加载URI指向的资源; 它使用适当的操作,具体取决于URI是否http或file等等.但是它不知道如何处理NSManagedObjectIDURI,而且它不是你想要做的.
相反,我猜你想做的是
NSString*identifier=[objURL absoluteString];
Run Code Online (Sandbox Code Playgroud)
这给出了URL的字符串表示.
我将添加Marcus的评论,以便每个人都注意到:
请注意,objectID可以并且确实会发生更改,尤其是在发生迁移时.不要依赖该值在应用程序的一次启动和下一次启动之间保持一致.
| 归档时间: |
|
| 查看次数: |
4233 次 |
| 最近记录: |