2012-05-08 70 views
0

我是objective-c的新手。我的对象reportingTime在init方法中为零。我做错了什么?我如何初始化reportingTime并设置firstweekday?Objective-c:初始化实例var

我有以下的接口和实现

我的接口文件Calculation.h

@interface Calculate : NSObject { 

NSCalendar *reportingTime; 
.... 
.... 
} 
@property NSCalendar *reportingTime; 

@end 

而且我实现文件Calculate.m

#import "Calculate.h" 

@implementation Calculate 

@synthesize reportingTime; 

- (id)init 
{ 
    if(self = [super init]) { 
     reportingTime = [[NSCalendar alloc] init]; 
     [reportingTime setFirstWeekday:1]; 

     // reportingTime is nil ?????? 
    } 
    return self; 
} 

回答

0

而不是

reportingTime = [[NSCalendar alloc] init]; 

使用:

reportingTime = [[NSCalendar currentCalendar] retain]; 

的保留,因为这是一个直接分配到伊娃@property和[NSCalendar currentCalendar]是返回一个autoreleased VAR的便捷方法。如果您使用ARC,则不需要保留。

+0

这是一个错字是计算我已经改变了,但仍然没有工作 – baliman

+0

感谢,认为这样做是 – baliman