2012-03-07 8 views
0

Я разработал приложение, в котором у меня есть метод, который использует контекст управляемых объектов основной структуры данных для загрузки его содержимого в базу данных. Я вызываю этот метод в методе завершения делегирования. и я использую UITableView для извлечения данных и их отображения в виде таблицы. Моя проблема состоит в том, что данные отображаются дважды в виде таблицы. Когда я запускаю приложение с помощью Xcode, данные отображаются только один раз, а затем после остановки xcode и когда я впервые открываю приложение в устройстве, я получаю дубликат копии тех же данных. Я не понимаю, как избежать этого дублирования, пожалуйста, помогите мне в этом.Избегайте дублирования записей в UITableView в ios

-(void) devicedetails 
    { 
     devicename = [UIDevice currentDevice].name; 
     osversion = [UIDevice currentDevice].systemVersion; 
     //some other data like this 
     NSManagedObjectContext context = [self managedObjectContext]; 
     Deviceinfo *detail = [NSEntityDescription insertNewObjectForEntityForName:@"Deviceinfo" inManagedObjectContext:nscontext]; 
     detail.platform = devicename; 
     detail.os_version = devosversion; 
     . 
     . 
     . 
    } 

Это мой метод и я назвал его в didfinish методе старта, как показано ниже

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
    [self devicedetails]; 
    return YES; 
    } 

Благодаря

+1

Покажите нам свой код! – dasdom

+0

Я думаю, что есть проблемы с запуском с момента его дублирования только один раз, когда устройство запускается в устройстве – NNR

ответ

0

Вы вставляете новый объект каждый раз, когда вы называете -insertNewObjectForEntityForName:inManagedObjectContext:.

Что вы должны сделать, это попробовать и извлечь объект перед его вставкой. Если выборка пуста, тогда вставьте новый объект, иначе не вставляйте его.

+0

спасибо, я попробую это – NNR

Смежные вопросы