zoukankan      html  css  js  c++  java
  • [Objective-c 基础

    A.id

    万能指针,可以指向任何对象,实质是NSObject的指针,使用的时候不用加上*
     
    B.NSObject中得类方法new
    1.完整地创建一个可用对象步骤
    (1)分配存储空间 + alloc
    (2)初始化 - init
    1         // 1.调用+alloc分配存储空间
    2         Person *p1 = [Person alloc];
    3         // 2.调用-init进行初始化
    4         Person *p2 = [p1 init];
    5         // 同时进行分配存储空间和初始化
    6         Person *p3 = [[Person alloc] init];
     
    (3)构造方法就是init方法
    复制代码
     1 @implementation Person
     2 
     3 // 重写-init方法
     4 - (id) init
     5 {
     6     // 1.一定要调用super的init方法
     7     self = [super init];// 当前对象self
     8    
     9     // 2.如果对象初始化成功,才能进行接下来的子类初始化
    10     if (self != nil)
    11     {// 初始化成功
    12         self.age = 10;
    13     }
    14    
    15     // 3.返回一个已经初始化的对象
    16     return self;
    17 }
    18 
    19 @end
    复制代码
    简化:
    复制代码
    1 - (id) init
    2 {
    3     if (self = [super init])//nil实际是0
    4     {
    5         self.age = 10;
    6     }
    7     return self;
    8 }
    复制代码
     
    C.自定义构造方法
    复制代码
     1 @interface Person : NSObject
     2 @property NSString *name;
     3 
     4 /*
     5  自定义构造方法的规范
     6  1.一定是对象方法,一定以-开头
     7  2.返回值一般是id类型
     8  3.方法名一般以init开头
     9 */
    10 
    11 - (id) initWithName:(NSString *) name;
    12 
    13 @end
    14  
    15 @implementation Person
    16 
    17 - (id) initWithName:(NSString *) name
    18 {
    19     if (self = [super init])
    20     {
    21         _name = name;
    22     }
    23    
    24     return self;
    25 }
    26 
    27 @end
    复制代码
    原则:父类的成员变量交给父类的方法去处理
    谁声明,谁处理
     
    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    oracle删除归档日志
    ORA-16014: log 3 sequence# 540 not archived, no available destinations
    rsync
    vmware 虚拟机导入OVF出现路径错误
    RHEL5.X 重启网卡出现./network-functions: line 78: .: ifcfg-eth0: file not found
    AIX 6.1记录
    CentOS网卡显示为__tmpxxxxxxxx
    PowerPiggy 博客
    利用谷歌浏览器插件获得更好的浏览体验
    C# 的 MSIL 简介
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4501581.html
Copyright © 2011-2022 走看看