Reputation: 27133
I use date formatter to get new string, but in some cases startDate can be nil.
resultDate = [NSString stringWithFormat:@"%@", [formatter stringFromDate:startDate]];
And then resultDate get (null)
string (NSTaggedPointerString), but I expect to get just nil in case if formatter get nil as a parameter of date.
Upvotes: 0
Views: 238
Reputation: 9825
The currently accepted answer isn't actually right.
stringFromDate
does return nil
when you pass it a nil
date.
The reason your string is "(null)" is because [NSString stringWithFormat:"%@", nil]
returns the string "(null)"
Upvotes: 2
Reputation: 42449
The stringFromDate
instance method on NSDateFormatter
is expecting a (nonnull NSDate *)
and returns NSString * _Nonnull
.
The _Nonnull
keyword specifies that stringFromDate
will always return an NSString *
and never return nil, so on a nil date stringFromDate
will return the string "null"
.
Upvotes: 1