240 发简信
IP属地:北京
  • 120
    Linux集群环境搭建

    网上很多操作指南都是window环境,Mac 环境配置的很少,今天和大家分享一下我的实操经验,亲测有效(也适用于小白选手) 话不多说,现在我们来说一下具体操作步骤: 1.下载...

  • 120
    代码混淆

    LLVM编译过程: 预处理,词法分析,token,语法分析,AST,代码生成,LLVM IR,优化,生成,汇编代码,link,目标文件。 Clang -E 项目名/main....

  • NSTimer不准的问题及解决

    Runloop Timer为什么不准? 1:Runloop Timer底层使用的timer精度不高;2:与Runloop底层的调用机制有关系。 情况产生:1、NSTimer被...

  • App启动优化

    要想优化App的启动过程,需要先了解App的启动流程。 App启动调用顺序:1:加载info.plist里设置的启动图,建立沙箱,对权限检查,加载可执行文件,动态库,运行时的...

  • 性能优化

    循环问题 例如NSTimer,注册了runloop,NSTimer持有self,runloop和线程一一对应,主线程不退出,self没法回收,导致循环引用。解决:1:通过ti...

  • Block原理

    block是一个对象,可以捕获外部变量,是一个匿名函数,可以保存代码块。使用copy进行修饰,因为一开始处于静态区,当调用外部变量的时候,处于栈区,因为栈区的内容随时可能被销...

  • 网络

    网络模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。网络的通讯其实就是socket间的通讯(通讯的两端都是socket),通过IO传输。需要IP,PortS...

  • RunLoop 本质以及使用

    原理本质:线程局部空间里存储的私有东西只可被当前线程访问。通过pthread_getspecific,pthread_setspecific进行访问, 通过Get Curre...

  • KVO原理

    原理:响应式编程,响应观察成员变量的setter方法。因为一个OC属性其实是一个封装,是“_”的成员变量,以及setter和getter方法的封装。在进行这个属性观测时,系统...

  • RunTime原理和使用

    原理:消息转发:在一个实例里边使用resolveInstanceMethod方法,内部动态添加一个方法class_addMethod去实现。之所以这样实现,取决于 OC方法的...

  • 栈与堆

    堆:数据结构类型自下而上。栈:数据结构类型自上而下。 我们常看到的Objc变量本质上是一个指针,指向一个对象,对象的本质是一个结构体,可以通过ARC来管理。 结构体存放在堆里...

  • 120
    OC——Swift混编

    swift导入oc很多小伙伴可能接触的比较多一些,但是oc导入swift可能有的人还是比较陌生的,废话不多说,直接来硬货。 1:swift导入oc(简单而过) 第一步:在自己...

  • 实用的文章整理

    好几没写东西了,今天把自己浏览过的一些不错的文章分享给大家(里边少部分内容的用法现在可能会有稍微改动) 闪屏效果的实现https://github.com/MQZHot/ZL...

  • 自定义大头针问题(高德)

    高德API介绍的还算不错,只是有些细节的地方还需要注意一下,说一下我遇到的问题: 自定义的大头针点击没有响应(调试过程中发现自定义大头针里边控件的响应方法能正常走,就是map...

  • 图片缓存问题

    在做相册浏览时,发现使用下边方法对图片进行操作 如果图片切换过快,在有加载loading显示加载进度的情况下,加载loading会出现卡卡的问题(数据显示飘忽不定),是因为上...

  • @夏日的忧殇 谢谢,后期会修改

    数据库---SQLite的知识整理

    为啥用数据库1:一款轻量级的嵌入式数据库(用于移动端)2:处理数据库的速度比MySql还要快3:SQLite不需要进行配置,这就意味着不需要安装和管理4:它是一个不需要单独服...

  • 友盟分享中的坑点

    说要整理下这边的内容,一直没时间整理,今天有空,就给大家分享下. 关于友盟集成第三方的分享与登录的详细步骤这里不多说,可以参考友盟官方文档,也可参考下边的这几篇文章 http...