ios - 将 NSString 转换为 int16_t 并将它们插入到核心数据中

标签 ios objective-c iphone core-data

你好,我想做的是从 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 的新手

但是在运行这段代码后我得到了这个异常:

Unacceptable type of value for attribute: property = "number"; desired type = NSNumber; given type = __NSCFString; value = 1.

希望你能帮我忘记提及我在IOS开发方面还是新手,我来自android开发

提前致谢

最佳答案

只需替换这一行 [entry setNumber:(NSNumber *)self.numberTextField.text];到 [entry setNumber:@([self.numberTextField.text intValue])]; .希望它能发挥作用。

关于ios - 将 NSString 转换为 int16_t 并将它们插入到核心数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31741581/

相关文章:

objective-c - NSStream - 操作无法完成。连接被拒绝

iphone - iOS上如果一个view有好几层,drawRect是不是只能选择一个层显示?

iphone - 在整个应用程序中使用此 NSManagedObjectContext 是一种好习惯吗

ios - 具有许多图像的 UIScrollView 性能不佳

ios - UIPageviewcontroller 过渡样式滚动连续

objective-c - Storyboard : Open UIViewController from storyboard as popover from image in UITableViewCell

objective-c - 无法关闭搜索 View

ios - UiTableView 重新加载数据后保留选定的部分/行

ios - 将 UITableView 委托(delegate)和数据源与 tableViewController 分离

android - Quickblox 通知聊天室 IOS 到 Android 中的自定义参数