240 发简信
IP属地:上海
  • iOS性能优化总结

    一、启动优化: 1.main函数之前:删除不用的类、以及图片、load方法可以改成initialize情况下改掉、减少单例、减少不用的动态库、减少selector、减少类分类...

  • 挂载libfooplugin.dylib 按上面方式都不行。

    (lldb) plugin load /Users/yolo/lldb/libfooplugin.dylib
    error: this file does not represent a loadable dylib

    (lldb) cat address 0x12c70a650
    error: 'cat' is not a valid command.

    swift进阶五:内存分区 & 小工具

    swift进阶 学习大纲[https://www.jianshu.com/p/0fc67b373540] 分享一个基于MachO进行内存分区的动态库:libfooplugin...

  • 120
    swift进阶四:懒加载 & 单例 & Struct

    swift进阶 学习大纲[https://www.jianshu.com/p/0fc67b373540] 上一节[https://www.jianshu.com/p/83ad...

  • target 'XXXWatch Watch App' do
    use_frameworks!
    platform :watchos, '2.0'
    pod 'EFQRCode/watchOS'
    end

    记一次 Apple Watch App 开发经历

    前言:随着现在 Apple 生态圈的发展,越来越多的 App 会把自己的简化版从 iOS 迁移至 WatchOS(支付宝、微信、手Q、头条、QQ音乐、网易云音乐等等,都有Wa...

  • 120
    iOS 中的 NSObject 深度解析

    本文开始之前,先提出两个问题,之后沿着问题的思路,逐步去剖析NSObject的本质,一层层剥开这个OC基类的神秘外衣,最终在文末将会给出问题的答案。 Q1:OC中有哪几种对象...

  • iOS 隐藏tabBar小结

    1 iOS跳转界面时隐藏tabBar的方法 2 Iphone隐藏和显示TabBar的方法1.隐藏TabBar: 2.显示TabBar: 3.如果定义了上面两个方法,在view...

  • UI刷新问题

    App首页有用户引导页,每点击下一步更新引导图展示的位置,涉及到UITableView的滑动和引导浮层UI变化。 现象:点击最后一次下一步时,需要UITableView滑动到...

  • 深拷贝数组中的Model

    一、单层数组的深拷贝 结果:deepCopyDataArr 和 dataArr中的元素地址不同,copyDataArr 和 dataArr中的元素地址仍然相同(元素浅拷贝)...

  • iOS 如何高效的使用多线程

    写在前面 多线程技术在移动端开发中应用广泛,GCD 让 iOS 开发者能轻易的使用多线程,然而这并不意味着代码就一定高效和可靠。深入理解其原理并经常结合业务思考,才能在有限的...

  • 多态-iOS

    Swift中的泛型T 实质是一种参数化多态,把类型作为参数的多态,泛型编程。 在编程语言和类型论中,多态是指不同数据类型的实体提供统一的接口。多态类型是指可以将自身所支持的操...

  • 120
    依赖注入-iOS

    依赖 依赖:在ClassA(调用者)中初始化ClassB(被调用者)的实例,那么ClassA对ClassB有一个依赖。 依赖注入 依赖注入:ClassA(调用者)非自己主动创...

  • 120
    非注册Protocol实现iOS组件化解耦

    一、基础协议库ProtocolManager定义各个模块Protocol 1.1XXProtocolManager内部实现 1.2XXUserModuleProtocol协议...

  • 联想到复杂页面也可以这样,改变next就能随插随移除。

    职责链模式(Chain of Responsibility)

    职责链模式,责任链模式,职责连锁模式 意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象形成一条链,并沿着这条链传递该请求,直到有一个对...

  • 120
    职责链模式(Chain of Responsibility)

    职责链模式,责任链模式,职责连锁模式 意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象形成一条链,并沿着这条链传递该请求,直到有一个对...

  • Swift 属性类型以及单例模式

    属性类型 Swift中的属性存储属性计算属性 存储属性类似于成员变量的概念存储在实例的内存中结构体/类可以存储存储属性枚举不可以定义存储属性在创建类或者结构体的时候,必须为所...

  • IM序列5:IM群聊消息如此复杂,如何保证不丢不重?

    1、前言 群聊已经成为主流IM软件的基本功能,不管是QQ群、还是微信群,一个群友在群内发了一条消息,那么对于IM服务器来说需要保证: 在线的群友能第一时间收到消息; 离线的群...

  • 120
    组件化思考和落地

    前言 随着我们业务发展,参与业务开发的同学也逐渐增多。为了适应新要求,需要对旧的架构做一次升级。组件化是架构升级中的重要一步,将业务模块进行组件化,将各个业务的逻辑和依赖梳理...

  • 120
    Swift PerformSelector

    一、Runloop 一、PerformSelector延迟事件 1.1、在子线程执行未开启runloop 1.2、在子线程执行开启runloop 结果: 执行onPerfor...