将视图的NSinteger属性设置为NSInteger?

时间:2012-09-13 23:58:23

标签: objective-c properties nsinteger

我正在尝试在我准备加载的视图上设置变量。下面是设置它的代码:

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

    tvc.amountOfQuestions = &amountOfQuestions;

这是Timer_ViewController的@interface:

@interface Timer_ViewController : UIViewController
{
    NSInteger amountOfQuestions;
}

    @property (nonatomic) NSInteger *amountOfQuestions;



@end

我对objective-c相对较新,因此可以理解明显的设计缺陷。

1 个答案:

答案 0 :(得分:7)

你不应该使NSInteger成为一个指针 - 它不是一个对象类型,只是普通原始类型的typedef。如果您使用的是相对较新版本的Xcode,可以使用以下内容:

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

并使用以下方式设置:

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

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