簡體   English   中英

無法檢查NSDate何時為NULL

[英]Can't check when NSDate is NULL

我在CoreData中創建一個名為“NoteEntity”的實體並生成NSManageObject子類

@interface NoteEntity : NSManagedObject
@property (nonatomic, retain) NSDate * time;
@end

然后我addObserver檢查選擇對象時的時間變化:

[self addObserver:self forKeyPath:@"noteEntity.time" options:NSKeyValueObservingOptionOld context:KNoteEntityTime];

觀察者代碼:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if ( context == KNoteEntityTime ) {

        NSDate *oldTime = (NSDate *)[change objectForKey:NSKeyValueChangeOldKey] ;
        if (oldTime != NULL) {
            NSLog(@"CHANGE:From %@ - %@",oldTime,self.noteEntity.time);

        }

    }

    else {
        [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
    }
}

我需要檢查noteEntity.time是否從NULL更改,但是if(oldTime!= NULL)或if(oldTime)不起作用,這是日志

CHANGE:From <null> - (null)
CHANGE:From <null> - 2013-07-29 10:15:58 +0000

請幫助我找出我做錯了什么。 謝謝!

<null>NSNull的描述,而不是nil (或NilNULL相同)的描述。 嘗試

if (![oldTime isEqual:[NSNull null]])

代替。

嘗試

if (![oldTime isEqual:[NSNull null]]) { ... }

容器中的對象(NSArray,NSDictionary等)在目標c中不能為零或為空

嘗試這個

if(yourdate){

//設置日期} else {//未設置日期}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM