• 【iOS Programming: The Big Nerd Ranch Guide】【笔记】1


    1.在类中的init的方法里,应该使用_value而不用self.value的形式访问变量,因为初始化正在进行中,对象还没有完成构造,所以不能确定实例变量都能有效的赋值

    2.首先特定的init初始化方法需要调用父类的特定init方法,然后其他的init方法都调用这个特定的init方法

    如果子类声明的特定init方法和父类的特定init方法不一样,就需要子类覆写(override)父类的特定init方法并调用子类已有的特定init方法

    3.在类方法里应该使用self来代替类名,使得他的子类也可以同样的发送消息

    + (instancetype)randomItem

    {

      BNRItem *newItem = [[self alloc] initWithItemName:randomName valueInDollars:randomValue serialNumber:randomSerialNumber];

      return newItem;

    }

    4.Objective-C中的array只能保存OC对象,所以不能添加基础类型和C语音的结构体,可以先将这些数据转化成OC的NSNumber、NSValue、NSData后添加到array中

    不能将nil添加到array中,但是可以用NSNull对象,NSNull表示对象已经为nil,一般被用来做特殊操作

    [items addObject:[NSNull null]];

    5.unrecognized selector sent to instance 0x100117280’ 这个错误表示该实例中没有想要调用的方法

    (You sent a message to an object, and the object does not implement that method)

     6.OC中没有命名空间(namespace),而是使用在类名上添加前缀的方式

    NS前缀代表NeXTSTEP公司

    7.#import and @import

    OC会预编译一些系统库并缓存,避免每次在头文件中引用这些库的时候都需要重新编译一次,所以在调用系统库的头文件时可以使用@import Foundation的方式

  • 相关阅读:
    带颜色的输出
    排序默写最后一遍
    树形图查找与纯函数默写第二遍
    查找树形结构的某对象
    纯函数&根据id在树形结构中查找
    Docker搭建私有仓库harbor的搭建与使用
    有 react fiber后,为什么不需要 "vue fiber" ?
    前端开发git使用随笔(搭配VSCode使用
    谷歌浏览器打断点调试方法
    地平线5获取Eventlab赛事时发生错误,请稍后再试。
  • 原文地址:https://www.cnblogs.com/afluy/p/5015408.html
Copyright © 2020-2023  润新知