2016-03-20 2 views
0

У меня проблемы с баггом, который в некоторых случаях дает «initWithObjects: forKeys: count:]: попытка вставить нулевой объект из объектов [6] ". Это происходит только в каждом третьем испытании, а в других случаях оно работает нормально. Я не отлаживал багги, которые случаются в определенных ситуациях, поэтому я прошу помощи. Возможно, будет сложно найти решение, но я был бы рад получить некоторые советы по крайней мере, где начать искать проблему и как ее отладить?Ошибка с NSDictonary иногда падает с ответом «Попробовать вставить нуль»

В основном мое приложение имеет метод, который отправляет список NSDictonary с объектами на сервер. В некоторых случаях я хочу удалить объект, если пользователь не выбрал ничего для этого списка. Проблема в том, что сервер умер, как отправка объекта с пустым пространством. Поэтому я сделал вид не очень приятной работы. В основном IBaction проверяет, содержит ли объект ноль. Если он содержит nil, он перенаправляется на очень похожий NSDictonary без объекта, содержащего Nil. Это происходит в некоторых случаях, но кажется, что он иногда не распознает объект, содержащий ноль.

Это код в Бездействии, перенаправляющий код. Я не создал метод для добавления чего-либо к объекту: @ «DefaultCreateImageID», но насколько я знаю, он всегда должен быть нулем.

NSString *Imagestuff= [[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultcreateImageID"]; 
    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultcreateImageID"] != (NSString *) [NSNull null] ){ 
    DataHandler *handler = [DataHandler sharedDatahandler]; 
    handler.authenticateUserDelegate = self; 
    [handler createActivityNoImage]; 
     NSLog(Imagestuff); 
    } 

    else 
    { 
     DataHandler *handler = [DataHandler sharedDatahandler]; 
     handler.authenticateUserDelegate = self; 
     [handler createActivity]; 

    } 

Спасибо!

ответ

0

Если вы получили сообщение об ошибке «Попытка вставить ниль», то один из объектов, которые вы пытаетесь добавить в словарь, равен нулю. Решение: Не делайте этого.

Укажите, почему какой-то элемент, который вы пытаетесь добавить в словарь, равен нулю. Затем выясните, что вы хотите сделать в ситуации.

+0

Ну, я мог бы легко заменить ноль чем-то другим, но это не решило бы настоящую проблему. Мой метод должен знать, добавил ли пользователь anyhitng к этому объекту. Если у них нет, мне не нужно отправлять этот объект на сервер. Проблема в том, что когда я спрашиваю, что строка содержит ноль, иногда кажется, что она пропускает ее, и она отправляет ее в NSDictonary. Ошибка создается, когда отправляется объект, содержащий nil. Если бы я заменил его чем-то другим, то, как пространство blanc, сервер вместо этого все равно выдаст ошибку. –

0

Чтобы следить за gnashers729, ответьте. Проблема для меня не ноль, но тот факт, что мой Inaction не может переопределить то, что содержит объект.

Здесь, например, я попытался заменить nil на строку для переопределения. Я получаю ту же проблему, что мой метод в некоторых случаях распознает строку, а в некоторых случаях - нет.

NSString *Imagestuff= [[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultcreateImageID"]; 
    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultcreateImageID"] != (NSString *) @"noImage" ){ 
Смежные вопросы