zoukankan      html  css  js  c++  java
  • 【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的方式

  • 相关阅读:
    2-4 递增链表的插入 链表
    KMPnext数组自看
    Shortest Prefixes POJ
    Xor Sum HDU
    Immediate Decodability HDU
    Repository HDU
    "strcmp()" Anyone? UVA
    Remember the Word UVALive
    A Magic Lamp HDU
    Check Corners HDU
  • 原文地址:https://www.cnblogs.com/afluy/p/5015408.html
Copyright © 2011-2022 走看看