ios - IOS中没有可见的@interface声明选择器 'ordinalityOfUnit:inUnit:forDate:'

标签 ios nsdate

我尝试计算两个 NSDate 之间的天数我使用了这个 https://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/DatesAndTimes/Articles/dtCalendricalCalculations.html

Listing 13 Days between two dates, as the number of midnights between

@implementation NSCalendar (MySpecialCalculations)

-(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate
{
     NSInteger startDay=[self ordinalityOfUnit:NSDayCalendarUnit
          inUnit: NSEraCalendarUnit forDate:startDate];
     NSInteger endDay=[self ordinalityOfUnit:NSDayCalendarUnit
          inUnit: NSEraCalendarUnit forDate:endDate];
     return endDay-startDay;
}
@end

这是我的代码:

@implementation MapViewController
-(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate
{
    NSInteger startDay=[self ordinalityOfUnit:NSDayCalendarUnit
                                       inUnit: NSEraCalendarUnit forDate:startDate];
    NSInteger endDay=[self ordinalityOfUnit:NSDayCalendarUnit
                                     inUnit: NSEraCalendarUnit forDate:endDate];
    return endDay-startDay;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
}

@end

但是我遇到了这个错误。请帮助我!!

 No visible @interface for 'MapViewController' declares the selector 'ordinalityOfUnit:inUnit:forDate:'

最佳答案

像这样使用:

[[NSCalendar currentCalendar] ordinalityOfUnit:NSDayCalendarUnit
                                       inUnit: NSEraCalendarUnit forDate:startDate];

关于ios - IOS中没有可见的@interface声明选择器 'ordinalityOfUnit:inUnit:forDate:',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20126159/

相关文章:

iphone - 使用 nsdate 比较两个日期

ios - 倒计时器如何在后台工作

iphone - 如何在iphone通讯录中搜索特定电话号码?

Objective-c IOS 重复 UILocalNotification 设置为过去的日期

ios - 将NSDate转换为Unix时间戳以在字典中使用

objective-c - NSDateFormatter 不会在 NSDate 中转换我的 NSString

ios 6.0 新地址簿 ABAddressBookRequestAccessWithCompletion

ios - 更改导航栏时平滑过渡 "prefersLargeTitles"

android - Flutter:删除已折旧的启动屏幕

ios - NSDate - 设置 future 日期