objective-c @property

oc可以自动为变量生成getter ,settr方法,这一点用着比java棒。

只要在@interface中使用 @property修饰变量即可,无需放在{  }中

例如


@interface GetSet : NSObject
{
    //{ }中原来怎么写现在还是怎么写,与@property无关
    
}
//@property声明的其实是变量的别名, 变量真正的名称需在实现类中使用@synthesize指定

@property NSString* str; //测试1
@property NSString* ss;  //测试2

@end

@implementation GetSet

@synthesize str=MyStr; //显示指定MyStr,指定str别名对应的实际名称为MyStr
                    //ss采用默认的 , 别名对应的实际名称是 _ss

-(void)show{
    
    self->MyStr; //可以访问,MyStr是成员变量,所以可以使用->访问
    
//  self.MyStr;  //成员变量不能使用 . 访问
    
    
    
   // self->str; str只是别名,不是成员变量,所以不能使用->访问
    self.str;  //str是别名,只能使用. 访问
    
///////////////////
    self->_ss;// ss别名采用默认方式,所以实际名称是_ss, _ss是成员变量
 //   self._ss;  _ss不是别名,是成员变量
    
  //  self->ss; ss是别名
    
    self.ss; //
    
        
    //////////
    [self setStr:@""];  //setter方法
    
    [self setSs:@""];  //setter方法

    
    [self str];//getter方法
    
    [self ss];//getter方法




    
}


你可能感兴趣的:(Objective-C)