我正在尝试使用 CoreData ObjectId 存储我的唯一记录。有时我成功地以这种格式获取 ObjectID
<x-coredata://FC004E6F-F3D6-420E-871E-3E281571FB8B/Register/p4>
通过它我可以检索 id 即 4.But 有时它以 ObjectId 的这种格式返回
<x-coredata:///Playlist/tC481615F-4ABA-4CDA-B703-D1E6303B455D3>
即 NSTemporaryObjectID_Default 这太烦人了。我从我的 IOS 模拟器中清理了我的项目,清理了 Xcode,但它不能正常工作。
这是我获取对象 ID 的代码:
-(IBAction)TestButton:(id)sender
{
appObject=(AppDelegate*)[[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context =[appObject managedObjectContext];
NSManagedObject *playlistContact;
NSManagedObjectID *moID = [playlistContact objectID];
NSString *aString = [[moID URIRepresentation] absoluteString];
NSArray *theComponents = [aString componentsSeparatedByString:@"/p"];
NSInteger theZpk = [[theComponents lastObject] intValue];
playlistId=[NSString stringWithFormat:@"%ld",(long)theZpk];
}
请帮我。