iOS:如何使用谓词NSexpression检查用户输入的有效性和一致性
在使用coredata的应用程序中,我有一个具有两个属性的实体GridValue(数值),RecordingDate(NSdate))。一个tableview中的用户每天可以输入这两个值,并使用fetch控制器记录它们。欲了解更多信息,请参见与此问题相关的两个视图的屏幕截图: ThAddviewcontroller是用户添加新值的地方,当用户单击静态表视图中的两个字段中的任何一个时,他将被重定向到“Zahl Datum”视图进行编辑 我想做的是检查用户输入的GridValue,并显示一条警告(可能是一条警告消息,或者在这种情况下是一条页脚消息,当新输入的值小于在不同日期输入的前一个值(RecordingDate的前一个存储值)时,该页脚消息将显示或弹出(CoreData模型中的NSdate输入属性) 示例说明如果当前用户输入:Zahlerstand=1254和数据:12,052013,并且在以前的记录中,值是:Zahlerstand=1300和数据:11.05.2013。然后我们看到在连续记录上新值小于旧值日期。在这种情况下,应显示一个警告(如tableview部分页脚所示)。然后他才能单击添加视图控制器中的“保存”按钮 如果可能,请提供一些示例代码iOS:如何使用谓词NSexpression检查用户输入的有效性和一致性,ios,core-data,uitableview,nsfetchedresultscontroller,Ios,Core Data,Uitableview,Nsfetchedresultscontroller,在使用coredata的应用程序中,我有一个具有两个属性的实体GridValue(数值),RecordingDate(NSdate))。一个tableview中的用户每天可以输入这两个值,并使用fetch控制器记录它们。欲了解更多信息,请参见与此问题相关的两个视图的屏幕截图: ThAddviewcontroller是用户添加新值的地方,当用户单击静态表视图中的两个字段中的任何一个时,他将被重定向到“Zahl Datum”视图进行编辑 我想做的是检查用户输入的GridValue,并显示一条警告(
提前感谢您,使用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;
}
你检查过我的答案了吗?它对你有用吗?我还没试过,我希望在这里问这个问题,以避免与其他答案混淆。你能在这里详细发布你的答案吗?谢谢。我使用比较:方法比较了两个日期。你可以比较旧日期和新日期,然后可以检查它是否更大。你能将它发布到h吗在你的代码中有步骤吗?我对细节有点迷茫。我对iOS还是新手,所以这可能看起来很琐碎。