zoukankan      html  css  js  c++  java
  • ios copy/strong/weak..使用总结

    总结

    关于属性的这些选项的学习,做一下总结:

    • 所有的属性,都尽可能使用nonatomic,以提高效率,除非真的有必要考虑线程安全。
    • NSString:通常都使用copy,以得到新的内存分配,而不只是原来的引用。
    • strong:对于继承于NSObject类型的对象,若要声明为强使用,使用strong,若要使用弱引用,使用__weak来引用,用于解决循环强引用的问题。
    • weak:对于xib上的控件引用,可以使用weak,也可以使用strong。
    • __weak:对于变量的声明,如果要使用弱引用,可以使用__weak,如:__weak typeof(Model) weakModel = model;就可以直接使用weakModel了。
    • __strong:对于变量的声明,如果要使用强引用,可以使用__strong,默认就是__strong,因此不写与写__strong声明都是一样的。
    • unsafe_unretained:这个是比较少用的,几乎没有使用到。在所引用的对象被释放后,该指针就成了野指针,不好控制。
    • __unsafe_unretained:也是很少使用。同上。
    • __autoreleasing:如果要在循环过程中就释放,可以手动使用__autoreleasing来声明将之放到自动释放池。
  • 相关阅读:
    ABP框架理论学习之Debugging
    探索博客园的“打赏”模式
    P3382 【模板】三分法
    1020.数字识别
    洛谷 P1162 填涂颜色
    在windows命令行批量ping局域网内IP
    1154:LETTERS
    百炼 2790:迷宫
    洛谷 P1605 迷宫
    2012年NOIP普及组 摆花
  • 原文地址:https://www.cnblogs.com/lrr0618/p/5176875.html
Copyright © 2011-2022 走看看