iOS知识累积

作者: 怪客半 | 来源:发表于2016-11-15 14:09 被阅读18次

    1.知识框架图:

    http://www.cnblogs.com/ygm900/p/3599081.html

    2.自定义日期选择器:

    http://blog.sina.com.cn/s/blog_147d0371c0102wdnb.html

    3.日期格式化

    (1)NSDateFormatter:
    http://www.cnblogs.com/xinus/archive/2012/10/29/NSDateFormatter_samples.html
    (2)dateFormat字符:http://www.cnblogs.com/Cristen/p/3599922.html

    4.k线图:

    http://yiweifen.com/html/news/WaiYu/80753.html

    5.The file name is invalid.

    读取tex文件时报错:The file name is invalid.
    在Build Phases中是否能搜索到需要加载的tex文件,如果没有搜索到:
    在Build Phases->Copy Bundle Resources中添加对应的文件。
    感谢SpringSunLcy文章下的答疑解惑。

    6.iOS数据库相关:

    SQLite

    7.iOS 获取tabbar每个tabbarItem的位置

    2018.2.24

    8.为什么Objective-C是一门动态的语言?

    Objective-C语言是C语言的一个子类,所以Objective-C是一个静态语言,但是Objective-C的三大特性之一的多态性让其拥有了动态性。

    9.MVC和MVVM

    两种设计模式的优劣分析及具体用法

    MVC的劣势:
    a.厚重,人送外号Massive View Controller
    b.网络逻辑无处安放

    MVVM解决了以上弊端但产生了新的弊端:
    a.Bug 很难被调试,有可能是你 View 的代码有 Bug,也可能是 Model 的代码有问题。

    MVVM是MVC的升级版,一定程度上减轻了ViewController的臃肿度,但是View和ViewModel之间的数据绑定使得 MVVM变得复杂和难用了,如果我们不能更好的驾驭两者之间的数据绑定,同样会造成Controller 代码过于复杂,代码逻辑不易维护的问题。

    2018.2.26

    10.iOS性能优化及内存优化

    a.使用优秀的第三方库,如SDWebImage等,它的内部有缓存机制
    b.一些系统控件使用重用机制,比如UITableView等
    c.避免过于庞大的XIB文件
    d.保持主线程的顺畅
    e.尽量避免缩放图片的操作
    f.懒加载

    2018.2.27

    11.iOS修饰词相关

    a.copy

    copy.png
    • 介绍copy和mutableCopy
    • 介绍深拷贝与浅拷贝
    • block为什么要用copy
    • copy相对于直接赋值的好处

    b.对象可以使用assign和copy修饰吗?
    不可以使用assign来修饰,对象销毁的时候不会指向nil,导致野指针。
    可以使用copy来修饰,但是需要对象遵守NSCopying/NSMutableCopying协议,并实现copyWithZone:/mutableCopyWithZone:方法。参照这里

    c.copy和strong的区别
    在不可变对象之间进行转换,strong与copy作用是一样的,但是如果在不可变与可变之间进行操作,那么楼主比较推荐copy,这也就是为什么很多地方用copy,而不是strong修饰NSString,NSArray等存在可变不可变之分的类对象了,避免出现意外的数据操作.

    d.其他修饰词

    12.block和delegate的区别

    从内存开销和优缺点方面来分析

    13.属性@property的实质是什么

    实例变量+set+get

    2018.2.28

    14.synthesize和dynamic的区别

    synthesize表示系统会为属性提供set和get方法
    dynamic表示系统不会为属性提供set和get方法,需要用户自己手动添加

    15.属性的默认关键字是什么

    基本类型:atomic,readwrite,assign
    对象类型:atomic,readwrite,strong

    16.NSString为什么要用copy关键字,如果用strong会有什么问题?

    strong进行的是指针拷贝,拷贝的对象变化的话会影响到拷贝出来的对象的内容
    copy进行的是内存拷贝,拷贝出独立的内存,不会受外界的影响

    17.Designated Initializer

    参考

    相关文章

      网友评论

        本文标题:iOS知识累积

        本文链接:https://www.haomeiwen.com/subject/mdqoettx.html