Skip to content

Latest commit

 

History

History
34 lines (31 loc) · 1.03 KB

README.md

File metadata and controls

34 lines (31 loc) · 1.03 KB

项目介绍

项目要求:

  • 使用OC完成一个Demo,掌握property的用法
  • 使用OC完成一个Demo,掌握Block和各种容器的用法
  • 使用OC实现选择排序、快排、堆排序

项目地址:

https://github.com/TD21forever/BytedanceHomework

项目实现

任务一

对于任务一,主要研究以下问题:

  • 不使用Property,手动创建成员变量的存取器
  • @dynamic关键字和@synthesize关键字的作用
  • Property的各种修饰符
    • readonly的作用
    • atomic是否能保证线程安全
    • copy修饰可变容器导致的问题
  • 循环引用

任务二

对于任务二,主要研究以下问题

  • 浅拷贝与深拷贝
    • 不可变对象的copy和MutableCopy
    • 可变对象的copy和MutableCopy
    • 可变数组的单层深拷贝
  • 各种block的写法
    • 一个无返回值无参数的闭包
    • 简化版本的无返回值无参数闭包
    • 有返回值有参数的闭包
    • typedef 定义闭包类型
    • 将block作为函数参数

任务三

  • 实现三种不同的排序