別の値が変更された場合、XLForm に新しい行を動的に追加しようとしています。最初の行の値をログに記録し、すべて正常に機能していますが、行が追加されていません。運が悪いので、数時間いじりました。
これが私のコードです:
- (void)formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)rowDescriptor oldValue:(id)oldValue newValue:(id)newValue
{
[super formRowDescriptorValueHasChanged:rowDescriptor oldValue:oldValue newValue:newValue];
if ([rowDescriptor.tag isEqualToString:@"later"]){
if ([[newValue valueData] isEqualToNumber:@(1)] == YES){
NSLog(@"NEW VALUE %@", [newValue valueData]);
rowType:XLFormRowDescriptorTypeDateTimeInline
XLFormRowDescriptor *n = [XLFormRowDescriptor formRowDescriptorWithTag:@"time"
rowType:XLFormRowDescriptorTypeDateTimeInline
title:@"Date and Time"];
[self.formO addFormRow:n afterRow:rowDescriptor];
}
else if ([[newValue valueData] isEqualToNumber:@(0)] == NO){
[self.form removeFormRowWithTag:@"time"];
NSLog(@"NEW VALUE %@", [newValue valueData]);
}
}
}
フレームワークは次のとおりです http://cocoadocs.org/docsets/XLForm/2.1.0/Protocols/XLFormDescriptorCell.html
どんな提案でも大いに提案されます。