• iOS开发--成员变量与属性


    属性变量

    @interface MyClass:NSObject{    

            MyObjecct *_object;  

    }  

    @property(nonamtic, retain) MyObjecct *object;  

    @end  

    @implementatin MyClass  

    @synthesize object=_object; 

    可以用点语法

    成员变量定义:生存与该类的生命周期,变量存活周期跟你定义的该类实体对象一样;作用域是整个实体对象;可以在h文件中声明或者在m文件中@implementation上面添加     @interface

     @interface MyViewController :UIViewController

    {
        NSString *name;
    }
    @end

     .m文件中,self.name 这样的表达式是错误的。xcode会提示你使用->,改成self->name就可以了。因为oc中点表达式是表示调用方法,而上面的代码中没有name这个方法。

      oc语法关于点表达式的说明:"点表达式(.)看起来与C语言中的结构体访问以及java语言汇总的对象访问有点类似,其实这是oc的设计人员有意为之。如果点表达式出现在等号 = 左边,该属性名称的setter方法将被调用。如果点表达式出现在右边,该属性名称的getter方法将被调用。"

    @interface ViewController : UIViewController {
    //成员变量 NSArray *array1;
    }
    //属性变量 @property (nonatomic,strong) NSArray *array2;
    @end

     
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        array1 = [[NSArray alloc] initWithObjects:@"abcde", nil];
        array2 = [[NSArray alloc] initWithObjects:@"123abc", nil];
        {
    //        局部变量
            NSArray *array1 = [[NSArray alloc] initWithObjects:@"12345", nil];
        }
        NSLog(@"
    array1 : %@
     array2 : %@",array1,array2);
    }
    


    全局变量

      定义:在@implementation外定义的变量(在@implementation中定义也是可以但是一般不这么干)    @implementation

    Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时候被称为静态方法。
    注意点一:类方法
    1,类方法可以调用类方法。
    2,类方法不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法。
    3,类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量。
    4,类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。
    注意点二:self的规则
    大家需要记住下面的规则:
    1,实例方法里面的self,是对象的首地址。
    2,类方法里面的self,是Class.
    尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。

  • 相关阅读:
    Linux守护进程
    sequel pro无法连接mysql服务器
    socket编程之并发回射服务器2
    Unix的I/O模型
    nginx.conf laravel 配置
    phpstudy使用PHP+nginx配置Laravel
    nginx配置文件分开配置
    centos安装composer
    linux下 设置php的环境变量 php: command not found
    laravel 安装
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/5253040.html
Copyright © 2020-2023  润新知