闰年&选择器'datetoday'没有Know Class方法

时间:2013-01-07 17:29:29

标签: objective-c ios xcode cocoa-touch date

我正在尝试编写一个代码,我发现一年是否是bissextile但是在我的第一行出现错误:“没有知道类方法选择器'datetoday'”...我不知道为什么我我有这个错误,因为当我试图将我的代码放入一个按钮时工作得很好......但是我需要将代码放在'viewDidLoad'上,但是它会出现错误......

我的代码:

- (void)viewDidLoad {

[super viewDidLoad];

NSDate *datetoday = [NSDate datetoday];
NSDateFormatter *formatyears = [[NSDateFormatter alloc] init];
[formatyears setDateFormat:@"YYYY"];

NSString *yearStr = [formatyears stringFromDate:datetoday];
int yearint = [yearStr intValue];
int resto;
resto = yearint % 4;

if (resto == 0) {
    teste.text = @"bissexto";
} else {
    teste.text = @"not bissexto";
}
}

1 个答案:

答案 0 :(得分:4)

使用[NSDate date]获取当前日期,而不是[NSDate datetoday]

您的代码:

NSDate *datetoday = [NSDate datetoday];

正确的代码:

NSDate *datetoday = [NSDate date];

对于闰年:(正如Fabio的评论所理解的那样,作为非英语代码,我没有理解大多数变量名称)

if(((yearint %4==0)&&(yearint %100!=0))||(yearint %400==0)){
   NSLog(@"Leap Year");
}
else{
  NSLog(@"Not a Leap Year");
}