Ios 日期派生字段未随核心数据更改而更新
我有一个视图控制器,它实现了Ios 日期派生字段未随核心数据更改而更新,ios,cocoa-touch,core-data,delegates,uitextfield,Ios,Cocoa Touch,Core Data,Delegates,Uitextfield,我有一个视图控制器,它实现了UITextViewDelegate,UITextFieldDelegate,和NSFetchedResultsControllerDelegate。它是一个UIViewController,而不是一个表VC。里面也没有桌子 当我更改另一个视图控制器中的核心数据存储时,第一次VC更新中的大多数文本字段和文本视图,但是,我有另一个显示日期的文本字段,它是根据核心数据中的日期属性从`NSDateFormatter'派生的。当值为nil且不再为nil时,它被隐藏,取消隐藏它
UITextViewDelegate
,UITextFieldDelegate
,和NSFetchedResultsControllerDelegate
。它是一个UIViewController
,而不是一个表VC。里面也没有桌子
当我更改另一个视图控制器中的核心数据存储时,第一次VC更新中的大多数文本字段和文本视图,但是,我有另一个显示日期的文本字段,它是根据核心数据中的日期属性从`NSDateFormatter'派生的。当值为nil且不再为nil时,它被隐藏,取消隐藏它的代码不起作用
在VC中没有任何代码表明确实更新的文本视图和文本字段是任何内容的委托。它们只是自然更新
可能是在故事板中设置了代理,但我不记得也不知道如何检查在故事板中设置了哪些代理
有特别的约会吗?或者如何更新从NSDateFormatter派生的文本字段
编辑:
在这里,日期显示在名为updateInterface的方法中,该方法在视图中调用
//Here is an example of a label that does update when data changes.
self.nameLabel.text = self.item.name; //this sets name...It updates when name is changed.
//Here is the data label that is not changing from hidden to not hidden.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE MMMM d, YYYY 'at' h:mma"];
NSString *date = [dateFormatter stringFromDate:self.item.date];
if (self.item.date!=nil) {
self.dateLabel.text =date;
else {
self.dateLabel.hidden = YES;
}
显示一些代码。。。有几个地方可以更新这些文本视图和文本字段。@pbasdf请参阅上面添加的代码。关键问题是它仍然是隐藏的。请尝试self.dateLabel.hidden=NO
afterself.dateLabel.text=date
。它不会仅仅因为你设置了一个值就被取消隐藏。这就成功了!非常感谢。