Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更新CoreData对象,而不是插入新对象_Ios_Objective C_Core Data - Fatal编程技术网

Ios 更新CoreData对象,而不是插入新对象

Ios 更新CoreData对象,而不是插入新对象,ios,objective-c,core-data,Ios,Objective C,Core Data,我正在尝试更新当前的CoreData对象,但是当我使用我的write方法时,它只是将另一个对象添加到数据库中,因此当我尝试读取对象时,我会根据它的使用时间返回几十个对象 这是我的密码 #pragma mark -- Write - (void)writeSeriesSearchObj:(NSMutableDictionary *)SearchDic Name:(NSString *)name { // WRITE TO CORE DATA NSManagedObjectConte

我正在尝试更新当前的CoreData对象,但是当我使用我的write方法时,它只是将另一个对象添加到数据库中,因此当我尝试读取对象时,我会根据它的使用时间返回几十个对象

这是我的密码

#pragma mark -- Write
- (void)writeSeriesSearchObj:(NSMutableDictionary *)SearchDic Name:(NSString *)name
{
    // WRITE TO CORE DATA
    NSManagedObjectContext *context = [self managedObjectContext];

    SeriesSearchObj *searchObj = [NSEntityDescription insertNewObjectForEntityForName:@"SeriesSearchObj" inManagedObjectContext:context];


    if ([name isEqualToString:@"Code"]) {
        searchObj.code = [SearchDic objectForKey:@"Code"];
    } else if ([name isEqualToString:@"Name"]) {
        searchObj.name = [SearchDic objectForKey:@"Name"];
    } else if ([name isEqualToString:@"Model"]) {
        searchObj.modelID = [SearchDic objectForKey:@"ModelID"];
    }

    NSError *error = nil;
    [self.managedObjectContext save:&error];

    // test
    NSMutableArray *temptestA = [self readSearchObj];
    NSLog(@"%@", temptestA);

}
我怀疑我在使用insertNewObjectForEntityForName时出错了,但是我不知道如何编写此方法,以便每次都更新同一对象

SeriesSearchObj *searchObj = [NSEntityDescription insertNewObjectForEntityForName:@"SeriesSearchObj" inManagedObjectContext:context];
将始终返回一个新对象。
使用NSFetch获取现有对象,然后更新它

如果我第一次使用fetch但是还没有对象,你读过或者会发生什么吗?我刚刚创建了一个if语句,如果NSFetch没有带回任何东西(第一次正常),那么我会插入newobjectforentityforname等等。。然后在那之后我总是用fetch。