iOS问题汇总

一、 assin 和weak的区别

  • 在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端使用 weak 来解决,比如: delegate 代理属性
  • 自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用 weak,自定义 IBOutlet 控件属性一般也使用 weak;当然,也可以使用strong。
  • weak表明该属性定义了一种“非拥有关系” (nonowning relationship)。为这种属性设置新值时,设置方法既不保留新值,也不释放旧值。此特质同assign类似,然而在属性所指的对象遭到摧毁时,属性值也会清空(nil out)。而assign的“设置方法”只会执行针对“纯量类型” (scalar type,例如 CGFloat 或NSlnteger 等)的简单赋值操作。
    assigin 可以用非 OC 对象,而 weak 必须用于 OC 对象
    IBOutlet连出来的视图属性为什么可以被设置成weak?

二 打开指定QQ聊天:

NSString * str = @"mqq://im/chat?chat_type=wpa&uin=1587553795&version=1&src_type=web";
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,404评论 0 6
  • 工程组件 iOS Xcode图片放入的两种方式Asset Catalogs和直接拖入 UI相关 用纯代码设置控件约...
    MeR8阅读 477评论 0 0
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 2,045评论 0 12
  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 2,023评论 0 7
  • 好冷, 好饿, 好孤独。 我喊出声就有恶魔来抓我, 我不敢出声, 只有默默哭泣…… 就好像活在地狱里一样。
    无尘之地阅读 106评论 0 0