在自定义对象上更改NSDate?

时间:2011-09-06 10:49:55

标签: iphone ios nsdate

我的应用有一个包含NSDate的自定义对象。 我想在我的应用程序中更改此NSDate,但这不可能吗?

代码:

所以这是一个来自我的对象的方法,它应该根据另一个变量(sentcount)改变日期:

(void)increaseSentAttempts
{
sentCount++;

NSDate *cal = [NSDate date];

if (sentCount < 3) {
    //add 1 minute
    cal = [cal dateByAddingTimeInterval:60];
}
else if(sentCount < 10)
{
    //add 5 minutes
    cal = [cal dateByAddingTimeInterval:300];
}
else if(sentCount < 23)
{
    //add 1 hour
    cal = [cal dateByAddingTimeInterval:3600];
}
else {
    //add 15 hours
    cal = [cal dateByAddingTimeInterval:54000];
}


//sæt nextsent attribut
nextSendAttempt = cal;

}

nextSendAttempt是自定义对象中的NSDate。但看到应用程序崩溃,nextsendattempt = cal;不可能。

2 个答案:

答案 0 :(得分:2)

您是否在自定义对象的NSDate-Member上设置了属性?

@interface MyClass : NSObject
{
    NSDate *myDate;
}
@property (retain) NSDate *myDate;
@end;

要更改该值:

MyClass *obj = ...;
NSDate *newDate = ...;
NSLog(@"oldDate: %@",obj.myDate);
obj.myDate = newDate;
NSLog(@"newDate: %@",obj.myDate);

答案 1 :(得分:0)

愚蠢的我。 我需要写:

self.nextSendAttempt = cal;

那将完美无缺。

抱歉浪费你的时间:)