iOS版:如何使用谓词NSexpression来检查用户输入的有效性和一致性(iOS: How to

2019-11-02 07:24发布

在使用coredata我的应用程序我有两个属性GridValue(数值),RecordingDate(NSDate的))的实体。 在一个tableview中的用户每天都可以进入这两个值,它们被记录取数据控制器。 为了更多的了解这里的关心问题的两种观点的截图:

Addviewcontroller是用户增加了一个新的值,当用户点击任何静态的tableview两个领域,他被重定向到用于编辑的“Zahl基准”的说法。

我想要做的是检查用户输入的GridValue并显示警告(可能是一个警告消息或在这种情况下,页脚信息将显示或弹出每当新的输入值小于进入前值在不同的一天(RecordingDate的先前存储的值(从CoreData模型的NSDate输入属性)。

例子来说明 ,如果当前用户输入:Zahlerstand = 1254和基准:12,05,2013,和在先前的记录中的值分别为:Zahlerstand = 1300和基准:2013年11月5日。 那么我们看到比数值小于在连续日期的旧值 。 在这种情况下应该显示一个警告 (如tableview中页脚节。之前,他可以点击在addviewcontroller“保存”按钮。

请一些示例代码如果可能的帮助。

先感谢您,

Answer 1:

使用NSComparisonResult老年人日期比较新的日期为:

compare: method returns an NSComparisonResult value that indicates the temporal ordering of the receiver and another given date.

- (NSComparisonResult)compare:(NSDate *)anotherDate

switch ([olderDate compare:newDate]) {
case NSOrderedAscending:
    // olderDate is earlier in time than newDate
    break;
case NSOrderedSame:
    // Both dates are same
    break;
case NSOrderedDescending:
    // olderDate is later in time than newDate
    break;
}


文章来源: iOS: How to use predicates NSexpression to check user input for validity and conformance