Ios 接口中的目标C变量没有属性声明?
界面中没有属性的变量意味着什么,如下面所示Ios 接口中的目标C变量没有属性声明?,ios,iphone,objective-c,ipad,Ios,Iphone,Objective C,Ipad,界面中没有属性的变量意味着什么,如下面所示 @interface SubObject : BaseObject{ NSString *name; } @end 这个变量的意义和用途是什么 这称为ivar或实例变量,具有默认访问权限 关于这个问题,我的回答很好 我还提供了一个to,它可能会有所帮助,通过像这样声明变量,意味着您正在声明一个字符串,该字符串可以在.m类的所有方法中访问,但在项目的其他类中无法访问。 如果您想在另一个类中使用此字符串,请生成属性 像这样 @property(
@interface SubObject : BaseObject{
NSString *name;
}
@end
这个变量的意义和用途是什么 这称为
ivar
或实例变量
,具有默认访问权限
关于这个问题,我的回答很好
我还提供了一个to,它可能会有所帮助,通过像这样声明变量,意味着您正在声明一个字符串,该字符串可以在.m类的所有方法中访问,但在项目的其他类中无法访问。 如果您想在另一个类中使用此字符串,请生成属性 像这样
@property(strong, nonatomic)NSString *string;
Ok的可能副本,如果您不提供@Property,ivar会创建getter和setter吗?我们如何使用它?您将能够设置
name
像self.name=@“myName”只需执行NSString*myName=self.name代码>。它是默认访问,因此只能在类本身内部访问,而不能在类外部访问。其中as使用@property
将自动为您生成ivar
以及getter和setter,然后可以在类外访问。如果没有属性,self.name将无法像您所说的那样工作。很抱歉,我没有坐在可以测试此功能的计算机上,请在没有self的情况下尝试,正如您所知,我建议您使用@属性
,如果您希望它对您的类是私有的,只需添加@接口子对象()@property(非原子,强)NSString*名称@结束到.m
文件的顶部。IVAR是否会在不使用@Property的情况下在内部创建getter和setter?