【发布时间】:2015-12-04 16:34:44
【问题描述】:
我正在使用内联 datePicker 选择日期 (dd/mm/yyyy)。这是一个生日,如果日期小于 [NSDate date] 减去 18 年,我必须显示一个表单行。
而且我完全在为显示或隐藏行的谓词而苦苦挣扎:x
这是我用来设置如果用户未满 18 岁我需要隐藏的行的代码
XLFormRowDescriptor *row = [XLFormRowDescriptor formRowDescriptorWithTag:kAuthorization rowType:MyXLFormDescriptionTypeCheck title:@"Parents authorization"]];
row.hidden = [NSString stringWithFormat:@"$%@.value >= CAST(%f, 'NSDate')", kDateOfBirth, [eighteenYearsAgo timeIntervalSince1970]];
[section addFormRow:row];
当我运行我的应用程序时,一个断点会在 XLFormRowDescriptor.m(第 342 行)处停止执行
在哪里: self 是实际的行, _hidden 等于 "$birthday.value >= CAST(881190000.000000, "NSDate")" 并且 self.sectionDescriptor.formDescriptor.allRowsByTag 为 nil,因为 self.sectionDescriptor 也为 nil
这里是 @catch 块中 NSException 的描述:
无法在绑定 {} 中获取“生日”的值。
感谢您的帮助\o
【问题讨论】:
标签: objective-c nsdate nspredicate xlform