0

我正在构建一个生产力应用程序,并在模拟器和我的 iPhone 5 上进行一些简单的测试。该应用程序有许多数字文本字段,永远不会要求输入负数。所以从一开始我就将这些字段的键盘设置为“数字十进制”。

但是,在实际 iPhone 设备上查看一些测试数据时,我注意到了一些奇怪的事情。不知何故,一个条目在 tableview 和 editview 中显示为负值。我不确定它何时发生,但更重要的是我不确定它是如何发生的。没有提供有关安装或更新的数据。问题对象必须直接在设备上输入,使用没有负操作键的数字小键盘。

那么有什么想法会发生什么,以便我以后可以捕获它?

4

2 回答 2

0

可能是从其他地方复制和粘贴的值。

阻止粘贴到文本字段将是最简单的解决方案,但不是最用户友好的。

在此处查看 UITextFieldDelegate 的文档。

例如,您可以设置一种方法textFieldDidEndEditing:来检查值并相应地处理它们。

于 2013-08-27T07:07:42.083 回答
0

原来我在核心数据中使用的是 Int16,而我应该使用 Int32。每当我对一个对象进行编辑并使该数字大于最初在文本字段中的数字时,它在保存时做了一些奇怪的事情,最终我存储了一个负值。

于 2013-08-27T14:53:55.707 回答