我有一个文本文件,允许用户输入数字。这是我所做的:
[_textfield setText:[NSString stringWithFormat:@"%d", [_textfield.text intValue]]];基本上,我将文本文件中的文本转换为整数,然后再转换回字符串。这将确保文本仅为数字。
现在我需要将_textfield中的文本存储到核心数据中。我想知道是否应该使用字符串作为属性类型或整型。
我知道整数是一个更明智的选择。但在本例中,每次加载视图时,我都需要获取此数据并将其设置为_textfield。如果我使用integer作为属性类型,我每次都必须转换为字符串。我知道我需要做的很简单:
_textfield.text = [numberFromCoreData stringValue];我不需要对这个数字进行比较、排序或做任何算术计算,所以我应该只使用字符串作为属性类型吗?
发布于 2014-04-04 00:43:02
整数搜索比字符串搜索快得多。这是在您的持久层中使用数字的唯一最令人信服的理由。数字的排序方式也可以与字符串不同。
出于性能原因,当我知道值总是整数时,我永远不会使用字符串。控制输入,强制它只接受数字,并保持数据的完整性。
发布于 2014-04-04 00:55:05
这取决于您需要如何使用该字段。在几乎所有情况下,整型数据都应该存储为整型,但并不总是如此。如果您要在某个数值以某种方式计算的情况下使用该字段,那么您肯定需要一个整数类型。这包括排序(因为使用数值字段要快得多)、比较数值或任何类型的数学运算。
但也有例外。例如,在某些情况下,最初看起来是固有数字的字段结果并非如此。比如"size“字段,它通常是一个整数。但仔细观察后发现,一些尺寸被指定为"8 - 10","12 - 14“等。这发生在我几年前开发的一个应用程序中。在这种情况下,我最终为数据使用了两个字段--一个可用于排序的数字"sortSize“和一个包含完整字符串的字符串"displaySize”。
发布于 2014-04-04 00:26:50
这可能不是你想要的,但为什么你不使用键盘类型“数字键盘”为你的文本字段?这样,您就可以确保您的文本字段中只有数字。
https://stackoverflow.com/questions/22843284
复制相似问题