CoreData:将textField.Text转换为Integer 32

时间:2013-06-12 20:08:15

标签: iphone xcode core-data type-conversion

如何将 textField.Text 转换为 NSInteger64 以将其存储在 CoreData 数据库?我试过这样的事情,但给了我一个警告:

[newEntry setValue:[NSNumber numberWithInteger:self.mililitriTextField.text] forKey:@"mililitri"];

Warning: Incompatible pointer to Integer conversion ...

我还希望将 TextField.Text 转换为 Double ,将其插入 Coredata < / strong>数据库。有人可以告诉我该怎么做?

2 个答案:

答案 0 :(得分:2)

如下:

[newEntry setValue:[NSNumber numberWithInteger:[self.mililitriTextField.text integerValue]] forKey:@"mililitri"];

你真的应该把它分开一点,例如:

NSNumber * numberToSave = [NSNumber numberWithInteger:[self.mililitriTextField.text integerValue]];
if(numberToSave)
{
    [newEntry setValue: numberToSave forKey: @"mililitri"];
}

这是一些代码,但在以后需要查看此代码时,可帮助您(或其他人)了解流程。

答案 1 :(得分:0)

textField.text是一个NSString对象。为什么要尝试将字符串转换为存储数字?将字符串存储为字符串。使用[newEntry setValue: self.mililitriTextField.text forKey:@"mililitri"];

如果textField包含一个整数并且您想存储该整数,那么使用[NSNumber numberWithInteger: self.mililitriTextField.text.integerValue]来获取整数。