摘要:
1、weak也是我们OC中的一种解决循环引用的方式,在Swift中使用weak修饰的实例变量默认为可选类型,所以在使用weak后p对象会成为可选类型,在使用的时候需要使用?或者! func test() { var p = Person() p.myClourse = { [weak p] in p 阅读全文
摘要:
@optional 和 @required 是 Objective-C 中特有的关键字。 Swift中,默认所有方法在协议中都是必须实现的。而且,协议里方法不可以直接定义 optional。先给出两种解决方案: 在协议和方法前都加上 @objc 关键字,然后再在方法前加上 optional 关键字。 阅读全文
摘要:
1.什么情况下用分类?分类的优缺点?分类怎么用属性?关联对象的原理?关联策略?分类怎么实现一个weak属性? 2.消息发送流程?消息转发流程?runtime的用处? 3.直播分辨率,码率,帧率,花屏原因,卡顿原因 4.启动时长优化?包体积优化? 5.runloop与线程,runloop与autore 阅读全文
摘要:
https://www.pgyer.com/udid 阅读全文
摘要:
打开https://developer.apple.com/downloads/ 如果没有登陆会提示登陆 直接下载安装包,从App Store经常下载卡住就得从头重新开始 阅读全文
摘要:
git config --global credential.helper store git push 输入用户名密码,下次再push代码时就不用输入用户名密码啦! 阅读全文
摘要:
class BXCAppInstance: NSObject { static let shared = BXCAppInstance() } 阅读全文
摘要:
Swift 提供了五种不同的访问级别,分别是:open、public、internal、fileprivate 和 private,访问权限依次由高到低。 open: 可以在定义的模块中使用,也可在其他的模块中使用,(模块相当项目的target)其他模块也可继承、重写。open只能用在类、类成员上。 阅读全文
摘要:
声明 private let disposeBag = DisposeBag() 释放,需要重新设置,将上面的设置为var disposeBag = DisposeBag() 防止cell重用时,多次订阅 //每次重用cell的时候都会释放之前的disposeBag,为cell创建一个新的dispo 阅读全文
摘要:
下载链接 https://github.com/SnapKit/SnapKit makeConstraints 制作约束 updateConstraints 修改约束 import UIKit import SnapKit class ViewController: UIViewController 阅读全文