我代表一个人类有一个方法来计算人的年龄:计算使用两个NSDates
@interface Student : NSObject
@property (strong) NSDate *dob;
// This method will work out the person's age in calendar years
- (NSDateComponents*)ageCalculation:(NSDate*)dob;
下面是类实现文件
@implementation Student
- (NSDateComponents*)ageCalculation:(NSDate*)dob {
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit units = NSYearCalendarUnit | NSMonthCalendarUnit;
NSDateComponents *components = [calendar components:units
fromDate:dob
toDate:now
options:0];
return components;
}
@end
我不是不过,我确实是这样做的:
Student *student1 = [[Student alloc] init];
[student1 setDob:aDateOfBirth];
NSDateComponents *ageComponents = [student1 ageCalculation:aDateOfBirth];
该怎么处理这个方法的结果?我如何使ageCalculation:
使用我已经设置的日期?
非常感谢你根据你的建议调整了我的代码,现在它的工作很完美。我非常感谢你的帮助,因为我完全被困住了。我不知道简单的年龄计算可能会有多复杂,并且可以将它称为一种方法,因为日历和闰年的差异等原因,现在有意义的是它不会那么容易! – jon
Gabriele,我正在编辑你非常透彻的答案,以使它在被用作[作为伪指针](http://stackoverflow.com/q/24248088)之后,不再局限于此用户的特定代码。我真诚地希望这不会得罪! –
@JoshCaswell没有采取任何进攻。我同意答案和问题现在更普遍,谢谢你的努力。 ;) –