首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在core-data中使用字符串而不是整数作为属性类型吗?

我应该在core-data中使用字符串而不是整数作为属性类型吗?
EN

Stack Overflow用户
提问于 2014-04-04 00:13:36
回答 4查看 641关注 0票数 1

我有一个文本文件,允许用户输入数字。这是我所做的:

代码语言:javascript
复制
[_textfield setText:[NSString stringWithFormat:@"%d", [_textfield.text intValue]]];

基本上,我将文本文件中的文本转换为整数,然后再转换回字符串。这将确保文本仅为数字。

现在我需要将_textfield中的文本存储到核心数据中。我想知道是否应该使用字符串作为属性类型或整型。

我知道整数是一个更明智的选择。但在本例中,每次加载视图时,我都需要获取此数据并将其设置为_textfield。如果我使用integer作为属性类型,我每次都必须转换为字符串。我知道我需要做的很简单:

代码语言:javascript
复制
_textfield.text = [numberFromCoreData stringValue];

我不需要对这个数字进行比较、排序或做任何算术计算,所以我应该只使用字符串作为属性类型吗?

EN

回答 4

Stack Overflow用户

发布于 2014-04-04 00:43:02

整数搜索比字符串搜索快得多。这是在您的持久层中使用数字的唯一最令人信服的理由。数字的排序方式也可以与字符串不同。

出于性能原因,当我知道值总是整数时,我永远不会使用字符串。控制输入,强制它只接受数字,并保持数据的完整性。

票数 5
EN

Stack Overflow用户

发布于 2014-04-04 00:55:05

这取决于您需要如何使用该字段。在几乎所有情况下,整型数据都应该存储为整型,但并不总是如此。如果您要在某个数值以某种方式计算的情况下使用该字段,那么您肯定需要一个整数类型。这包括排序(因为使用数值字段要快得多)、比较数值或任何类型的数学运算。

但也有例外。例如,在某些情况下,最初看起来是固有数字的字段结果并非如此。比如"size“字段,它通常是一个整数。但仔细观察后发现,一些尺寸被指定为"8 - 10","12 - 14“等。这发生在我几年前开发的一个应用程序中。在这种情况下,我最终为数据使用了两个字段--一个可用于排序的数字"sortSize“和一个包含完整字符串的字符串"displaySize”。

票数 1
EN

Stack Overflow用户

发布于 2014-04-04 00:26:50

这可能不是你想要的,但为什么你不使用键盘类型“数字键盘”为你的文本字段?这样,您就可以确保您的文本字段中只有数字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22843284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档