开班第一课 | 青训营笔记

161 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第1天

开班第一课 | 青训营笔记

《iOS 现状与开发者生态》

TLDR:未来可期,兴趣为王,工程师发展不限于开发语言和设备。

《Xcode & Objective-C 简介》

Xcode工程体系介绍

  1. Workspace
    1. 可以包含多个Project
    2. 组合庞大复杂的工程
  2. Project
    1. 可以包含多个target
    2. 组织 1.代码文件 2.资源文件 3.动态/静态库 4.构建配置
  3. Target
    1. 特定构建目标
  4. Product
    1. target从project中圈出一部分文件,根据构建配置/构建规则/构建阶段,执行构建

OC语言特性

OC概述(自学部分)

  1. Brad Cox:发明OC
  2. 1980:OC = C + smalltalk
    1. C优点:
      1. 可移植性
      2. 高级语言
    2. smalltalk:
      1. 面向对象
  3. OC发展
  4. NeXT设计NextStep,OC写的界面工具包
    1. 1995Next获得OC全部商业版权,1996苹果收购Next,将NextStep改名为Cocoa,OC成为Mac平台主力语言
    2. 2015 swift 2.0 开源
  5. 相对于C
  6. 在C上新增面向对象
    1. 源文件.m,m代表message,是OC中重要的消息机制
    2. main仍然是入口和出口
  7. Hello World
  8. #import指令:预处理指令,#include的增强版
    1. 不会重复引入
    2. Foundation框架:直接调用
    3. @autoreleasepool自动释放池
    4. NSLog函数:printf增强版
      1. 输出调试相关信息
        1. 时间
        2. 程序名
        3. 进程编号
        4. 线程编号
        5. 输出信息
      2. 自动换行:如果在结尾写了\n,不会再加一个
      3. 新增的数据类型,只能用NSLog输出
  9. NS前缀:NextStep
  10. 大部分OC关键字以@开头
    1. @public
    2. @interface
    3. @implemation 
  11. OC字符串以@开头

Protocol协议:

  1. 意义:实现多继承
  2. 委托
    1. 遵守dataSource协议的对象负责提供数据 1.系统向外部请求数据时,调用遵守dataSource协议的对象的方法即可
    2. 遵守delegate协议的对象接收消息 2.系统向外部发送通知时,调用遵守delegate协议的对象的方法

方法 = 消息传递

  1. 在编译时,仅确定消息(某函数要执行某方法),在运行时,才确定执行具体的方法的地址,因此可以在运行时新增/删除方法