-2
これが誤字や何かの理由があるのかどうかわかりませんが、以下は機能しません。IOS/Objective-c:dateWithTimeInterval問題
NSDateに秒を追加したいと思います。これを行う前に、日付がnullかnilかどうかをチェックし、そうであればエラーを避けるために現在の日付に設定します。それにもかかわらず、秒を追加または減算しようとすると、日付はnullを示しています。誰かが間違っていることを示唆できますか?
int secondsAdjustment = 1;
NSDate* myLastViewed = item.lastviewed;
NSDate* myLastTouched = item.lasttouched;
if ([myLastViewed isKindOfClass:[NSNull class] ]||myLastViewed==nil) {
NSLog(@"last viewed null");
if ([myLastTouched isKindOfClass:[NSNull class]]||myLastTouched==nil) {
NSLog(@"last touched is also null so set both to now");
myLastViewed = [NSDate date];
myLastTouched = [NSDate date];
NSLog(@"my LastViewed after setting to now is:%@",myLastViewed);
NSLog(@"my LastTouched after setting to now is:%@",myLastTouched);
}
else {
NSLog(@"last touched is not null so I will set viewed to it");
myLastViewed=myLastTouched;
}
}
if (myLastViewed!=nil&&![myLastViewed isKindOfClass:[NSNull class]]) {
_lastViewedAdjusted = [NSDate dateWithTimeInterval:secondsAdjustment sinceDate:myLastViewed];
NSLog(@"making adjustment"); //THIS Logs
}
else {
NSLog(@"something went wrong"); //THIS DOES NOT. Never get here
}
NSLog(@"lastViewedAdjusted%@",_lastViewedAdjusted);//THIS IS logging as NULL
を使用することができますsecondsAdjustmeht'?なぜあなたは 'NSNull'をチェックしていますか?問題のない行をすべて削除してください。このような単純な問題を示すにはあまりにも多くのコードです。 –
[NSDate dateWithTimeInterval:secondsAdjustment sinceDate:myLastViewed]; TimeIntervalが期待されています。これは、通常はここで動作するdouble型のintです。 int secondsAdjustmeht = 1;ここでも後にでも間違っていると私は思っていますが、私はそれが問題ではないことができる 'double 'に変換される@solenoidの正誤を – solenoid
というものと考えています。 –