有关实例变量和声明其属性的问题

时间:2012-01-30 04:54:37

标签: iphone xcode properties header

如果我在括号中用我的前面的“IBOutlet”声明我的标题中的实例变量和对象,我是否必须设置对象属性?

这也意味着他们是私人的吗?他们私下是什么意思???

3 个答案:

答案 0 :(得分:1)

如果您执行@property@synthesize,则无需声明变量。 .h文件是一个类的API,因此在其中声明任何内容,具有公开而不是私有的意图。

要将IBOutlet声明为私有,您需要创建一个类别

@interface YourViewController ()

@property (nonatomic, retain) IBOutlet UILabel *label;

@end

上面的代码将在.m文件中。

希望这会有所帮助

答案 1 :(得分:0)

您只需要将对象的变量声明为IBOutlets(假设您使用Interface Builder将它们连接起来)。除非您有理由将它们作为属性(即您希望其他对象可以访问该变量),否则它们不必是属性。外部对象无法访问私有属性。

答案 2 :(得分:0)

不,没有必要为IBOutlets设置属性,只需声明它们即可 例如:

 IBOutlet UIbutton *btn;

如果您希望变量是私有的,那么您必须以这种形式声明它

@interface myclass:NSObject
{
   @private
   int var1;
}

在类中声明为私有的实例变量只能由类的实例访问。