Swift4.0开发笔记

这篇博客详细记录了Swift4.0开发中的一些关键点,包括ATS配置、状态栏颜色调整、懒加载、内存泄漏的处理、常用第三方库推荐、反射机制、运行时的应用、MD5加密、聊天界面实现、多线程GCD的使用,以及启动图尺寸大小的适配。通过这些内容,开发者可以深入理解并提升Swift开发技能。
摘要由CSDN通过智能技术生成

目录
1、ATS配置
2、状态栏全局变亮白
3、懒加载
4、内存泄漏
5、常用的第三方库
6、反射机制
7、运行时
8、MD5加密
9、聊天界面
10、多线程GCD
11、 启动图尺寸大小

1、ATS配置

App 网络http请求已被禁止,需要在Info.plist文件配置。

   <key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

2、状态栏全局变亮白

 UIApplication.shared.statusBarStyle = .lightContent

还需要在Info.plist文件配置:

<key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>

3、懒加载

lazy var mainScrollView:UIScrollView = {()-> UIScrollView in
        let scrollView = UIScrollView()
        return scrollView
    }()

4、内存泄漏

解决闭包循环引用[weak self]

//ESPullToRefresh上拉加载
 var footer: ESRefreshProtocol & ESRefreshAnimatorProtocol
 footer = ESRefreshFooterAnimator.init(frame: CGRect.zero) 
 homeTableView.es.addInfiniteScrolling(animator: footer) { [weak self] in
         self?.pageArray[tag]+=1
         self?.initData(tag:tag+1,page:(self?.pageArray[tag]) ?? 1)
     }

Timer释放内存

var timer:Timer?
 override func viewDidLoad() {
        super.viewDidLoad()
        if #available(iOS 10.0, *) {
            timer  = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { (timer)  in
                 print("定时器执行")
            })
        } else {
            timer=Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(write), userInfo: nil, repeats: true)
        }
         timer?.fire() //启动定时器
        //timer?.fireDate=Date.distantFuture //暂停定时器
}
@objc func write(){
       print("定时器执行")
 }
    
deinit{
      timer?.invalidate()
      timer=nil
      print("销毁定时器")
   }

CADisplayLink释放内存

let displayLink = CADisplayLink.init(target: self, selector: #selector(write))
displayLink?.frameInterval = 1
displayLink?.add(to: .current, forMode: .commonModes)
//displayLink?.isPaused=false//暂停或开始定时器

//销毁定时器必须先执行(deinit在这之后执行)
displayLink?.invalidate()
//然后再执行
displayLink=nil
</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值