gpt4 book ai didi

ios - 核心数据整数值通过文本字段存储

转载 作者:行者123 更新时间:2023-11-28 19:41:00 25 4
gpt4 key购买 nike

在 Person 实体的核心数据中,我有一个属性 phoneNumber,我已将其类型设置为 64 位整数。在 ViewController.m 文件中,我正在使用这段代码

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:context];
NSManagedObject *newPerson = [[NSManagedObject alloc]initWithEntity:entityDescription insertIntoManagedObjectContext:context];
NSString *numberString = [self.phoneNumber text];
NSInteger phoneNumber = [numberString integerValue];
[newPerson setValue:self.firstName.text forKey:@"firstName"];
[newPerson setValue:self.lastName.text forKey:@"lastName"];
[newPerson setValue:phoneNumber forKey:@"phoneNumber"];

其中 firstName、lastName 和 phoneNumber 是文本字段。但最后一行给出错误

Implicit conversion of 'NSInteger' (aka 'long') to 'id _Nullable' is disallowed with ARC

如果我使用 self.phoneNumber.text 我认为该值不会存储在数据库中,因为那里的类型是 64 位整数。执行此操作的正确方法是什么?

最佳答案

当您在实体模型中将 attribute 类型设置为 integar32integer64 时,当您生成模型类时属性设置为 NSNumber,因此您应该将您的值转换为 NSNumber,然后将其设置为您的模型对象。像下面这样。

NSNumber * phoneNumber =  [NSNumber numberWithInt:[[self.phoneNumber text] intValue]]] ;
[newPerson setValue: phoneNumber forKey:@"phoneNumber"];

关于ios - 核心数据整数值通过文本字段存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com