2015-07-31 2 views
0

привет, что я пытаюсь сделать, это взять значение NSString из UITextField и преобразовать это значение в int16_t, чтобы сохранить его внутри моих основных данных после многочасового поиска некоторых стеков люди сказали, что основные данные не могут принять примитивный тип, такой как INTBoolean данных и т.д. ... и должны получить тип объекта, такие как NSNumberNSInteger и т.д ... вот мой код:конвертировать NSString в int16_t и вставлять их внутри данных ядра

    CoreData *coreDat = [CoreData defaultStack]; 

    numberEntity *entry = [NSEntityDescription insertNewObjectForEntityForName:@"NumberEntity" inManagedObjectContext:coreDat.managedObjectContext] 
    ; 





    [entry setNumber:(NSNumber *)self.numberTextField.text]; 

и вот класс сущности:

numberEntity.m

 #import "numberEntity.h" 
     @implementation numberEntity 
     @dynamic number; 
     @end 

numberEntity.h

 #import <Foundation/Foundation.h> 
     @interface numberEntity : NSObject 
     @property (nonatomic,strong) NSNumber *number; 
     @end 

и для моих основных данных является целым числом 16

я не мог отправить изображение из-за мои низкая репутация, мне так жаль, и я все еще новичок в stackoverflow.com

, но после того, как работает этот код я получил это исключение:

Неприемлемая тип значения для атрибута: свойство = «номер»; желаемый тип = NSNumber; данный тип = __NSCFString; значение = 1.

надеюсь, что вы поможете мне забыть упомянуть, что я все еще новичок в развитии IOS и я пришел из андроида развития

Спасибо заранее

+1

Вам нужно разобрать текст в цифре. например '[NSNumber numberWithInteger: [self.numberTextField.text intValue]]'. Тогда это можно использовать как значение. – Petesh

ответ

1

Просто замените эту строку [запись setNumber : (NSNumber *) self.numberTextField.text]; to [entry setNumber: @ ([self.numberTextField.text intValue])]; Удовлетворение его работы.

+0

спасибо, что отлично работает: D –

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