【发布时间】:2015-10-22 20:41:11
【问题描述】:
你好,我想做的是从 UITextField 中获取一个 NSString 值,然后将该值转换为 int16_t 以在谷歌搜索数小时后将其保存在我的核心数据中,一些堆栈人员说核心数据不能接受原始数据类型如 int Boolean 等...并应接收对象类型如 NSNumber NSInteger 等...这是我的代码:
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 的新手
但是在运行这段代码后我得到了这个异常:
不可接受的属性值类型:property = "number";所需类型 = NSNumber;给定类型 = __NSCFString;值 = 1。
希望你能帮我忘记提及我还是IOS开发的新手,我来自android开发
提前致谢
【问题讨论】:
-
需要将文本解析成数字。例如
[NSNumber numberWithInteger:[self.numberTextField.text intValue]]。然后可以将其用作值。
标签: ios objective-c iphone core-data