2012-09-13 46 views
1

我试图在即将加载的视图上设置一个变量。下面有设置它的代码:将视图的NSinteger属性设置为NSInteger?

NSInteger amountOfQuestions = [self.questions.text intValue]; 
    Timer_ViewController *tvc = [[Timer_ViewController alloc] initWithNibName:@"Timer_ViewController" bundle:nil]; 

    tvc.amountOfQuestions = &amountOfQuestions; 

而这里的@interface为Timer_ViewController

@interface Timer_ViewController : UIViewController 
{ 
    NSInteger amountOfQuestions; 
} 

    @property (nonatomic) NSInteger *amountOfQuestions; 



@end 

进出口比较新的Objective-C这样指出明显的设计缺陷,将不胜感激。

回答

7

你不应该让NSInteger指针 - 它不是一个对象类型,只是一个普通原始类型的typedef。如果您使用的是相对较新的Xcode的版本,你可以像这样的东西去:

@interface Timer_ViewController : UIViewController 
@property (nonatomic, assign) NSInteger amountOfQuestions; 
@end 

,并设置它使用:

tvc.amountOfQuestions = [self.questions.text intValue]; 

你甚至不必申报实例变量或@synthesize属性 - Xcode将为您处理它。

+0

这给了我错误/警告“不兼容的整数到变量转换..” –

+0

划痕,^^..工作..谢谢 –

+0

总是省略“分配”,它没有任何用途 – smileBot