2015-05-30 1 views
1

Я работаю над кодированием приложения журнала, которое использует основные данные для хранения среди других вещей, данных темы (как выглядит приложение) - это работало до недавнего времени, когда я сильно изменил кода. Теперь я сталкиваюсь с проблемой при попытке импортировать float в модель управляемых объектов, если этот float равен>1.0f. Когда я также переключаю эти же значения на использование ints, они также не работают, если они больше 1. Может ли кто-нибудь пролить свет на то, что происходит?Основные данные ввода чисел> 1.0 ошибка

Код:

NSManagedObject *ocean = [NSEntityDescription 
           insertNewObjectForEntityForName:@"Colour" 
           inManagedObjectContext:_managedObjectContext]; 
    [ocean setValue:[NSNumber numberWithFloat:3.0f] forKey:@"barRed"]; 
    [ocean setValue:[NSNumber numberWithFloat:101.0f] forKey:@"barGreen"]; 
    [ocean setValue:[NSNumber numberWithFloat:100.0f] forKey:@"barBlue"]; 
    [ocean setValue:[NSNumber numberWithFloat:69.0f/255.0f] forKey:@"backgroundRed"]; 
    [ocean setValue:[NSNumber numberWithFloat:69.0f/255.0f] forKey:@"backgroundGreen"]; 
    [ocean setValue:[NSNumber numberWithFloat:69.0f/255.0f] forKey:@"backgroundBlue"]; 
    [ocean setValue:[NSNumber numberWithBool:NO] forKey:@"selected"]; 
    [ocean setValue:@"Ocean Blue" forKey:@"themeName"]; 

Он работал хорошо, когда я разделил цвета на 255, и вы все еще можете увидеть эти строки в коде .. но я решил разделить на 255 в другом месте, так это новый вопрос немного боли! Ошибки, образуемые при выполнении кода есть ..

2015-05-30 12:32:59.381 Journal[3991:86301] DetailedError: { 
NSLocalizedDescription = "The operation couldn\U2019t be completed. (Cocoa error 1610.)"; 
NSValidationErrorKey = barRed; 
NSValidationErrorObject = "<Colour: 0x7f9af0f5aea0> (entity: Colour; id: 0x7f9af0f5af50 <x-coredata:///Colour/tAF642E65-FBB9-4589-A6C1-96C239E0E4DA2> ; data: {\n backgroundBlue = \"0.2705882\";\n backgroundGreen = \"0.2705882\";\n backgroundRed = \"0.2705882\";\n barBlue = 100;\n barGreen = 101;\n barRed = 3;\n selected = 0;\n themeName = \"Ocean Blue\";\n})"; 
NSValidationErrorValue = 3; 
} 

Я заметил код ошибки, полученный в 1610 - который является NSValidationNumberTooLargeError, что означает некоторое численное значение слишком велико. Он производит это для значений barRed, barGreen и barBlue.

Любая помощь пожалуйста!

ответ

1

Я предполагаю, что у вас есть ограничение в вашей модели Core Data. Наряду с типом данных вы можете установить значения по умолчанию, а также минимум и максимум значения. Я думаю, вы, вероятно, настроили его в пределах от 0 до 1. Обновите правило проверки в своей модели, и все должно быть хорошо.

Опции могут быть найдены в инспекторе модели данных:

Xcode Data Model Inspector

+0

Где бы правило проверки? Я не отправил что-то преднамеренно, но вполне возможно, что я случайно что-то сделал! –

+0

Я добавил скриншот. –

+0

Вы, сэр, легенда! У меня всегда скрывается боковой бар - это научит меня! –