博客专栏  >  移动开发   >  iOS沉思录

iOS沉思录

思考iOS中的细节与原理

关注
5 已关注
49篇博文
  • 【iOS沉思录】GCD实现线程同步的方法

    在iOS多线程中我们知道NSOperationQueue操作队列可以直接使用addDependency函数设置操作之间的依赖关系实现线程同步,还可以使用setMaxConcurrentOperatio...

    2017-06-02 22:31
    628
  • 【iOS沉思录】NSTimer你真的会用了吗

    原文:http://www.cnblogs.com/smileEvday/archive/2012/12/21/NSTimer.html        看到这个标题,你可能会想NSTimer不就是计时...

    2017-06-04 22:14
    621
  • 【iOS沉思录】BAD_ACCESS内存错误调试

    BAD_ACCESS 在什么情况下出现BAD_ACCESS 报错属于内存访问错误,会导致程序崩溃,错误的原因是访问了野指针(悬挂指针)。野指针指的是本来指针指向的对象已经释放了,但指向该对象的指针没有...

    2017-05-12 22:26
    586
  • 你真的理解__block修饰符的原理么?

    开篇自测在本文的开头,提出两个简单的问题,如果你不能从根本上弄懂这两个问题,那么希望你阅读完本文后能有所收获。为什么block中不能修改普通变量的值?__block的作用就是让变量的值在block中可...

    2017-05-23 17:40
    294
  • 【iOS沉思录】OC和Swift语言互调

    OC和Swift之间的互调很简单,iOS8以后官方给出了这两种语言之间的桥接方案,简单说就是在Swift工程中,通过提示创建的Bridging头文件可以将OC文件和Swift文件衔接在一起,从而可以在...

    2017-04-12 14:35
    769
  • 【iOS沉思录】Objective-C语言消息传递机制三道防线:消息转发机制详解

    消息传递机制: 在OC中,方法的调用不再理解为对象调用其方法,而是要理解成对象接收消息,消息的发送采用‘动态绑定’机制,具体会调用哪个方法直到运行时才能确定,确定后才会去执行绑定的代码。方法的调用实际...

    2017-04-15 03:16
    552
  • 【iOS沉思录】UIImage圆角矩形的‘离屏渲染’和‘当前屏幕渲染’实现方法

    iOS中为view添加圆角效果有两种方式,一种基于“离屏渲染”(off-screen-renderring),直接设置view的layer层参数即可简单实现,也很常用,但性能较低;另一种则是编写底层图...

    2017-04-19 15:22
    1639
  • 【iOS沉思录】NSThread、GCD、NSOperation多线程编程总结

    OC中的多线程OC中多线程根据封装程度可以分为三个层次:NSThread、GCD和NSOperation,另外由于OC兼容C语言,因此仍然可以使用C语言的POSIX接口来实现多线程,只需引入相应的头文...

    2017-04-04 12:34
    2086
  • 【iOS沉思录】iOS内存管理试题总结与详解

    iOS中的GC垃圾回收机制与内存管理机制 问题: Objective-C有GC垃圾回收机制吗?GC(Garbage Collection),垃圾回收机制,简单地说就是程序中及时处理废弃不用了的内存对...

    2017-03-09 13:57
    1987
  • 【Demo】iOS平台上的讯飞语音识别语音合成开发

    官方文档:http://www.xfyun.cn/doccenter/iOS目前开放的服务: 准备工作 需要到讯飞官网注册一个开发账号,注册后登录并创建一个新的应用,添加需要的服务(语音听写、语音合...

    2017-03-04 17:36
    505
  • Objective-C运行时特性:Method Swizzling魔法

    OC运行时特性,为我们提供了一个叫做Method Swizzling的方法魔法利器,利用它我们可以更加随心所欲的在运行时期间对编译器已经的方法再次动手脚,主要包括:交换类中某两个方法的实现、重新添加或...

    2017-03-06 19:22
    509
  • iOS子线程更新UI到主线程的三种方法

    以下代码有什么问题?如何修复?@interface TTWaitController : UIViewController@property (strong, nonatomic) UILabel *...

    2017-02-08 22:03
    4456
  • SDWebImage图片二级缓存异步加载基本原理

    关于SDWebImage SDWebImage是一个针对图片加载的插件库,提供了一个支持缓存的用于异步加载图片的下载工具,特别的为常用的UI元素:UIImageView,UIButton和MKAnno...

    2017-01-24 15:09
    1677
  • 【iOS沉思录】UITableView的重用机制与加载优化详解

    UITableView可以说是UIKit中最重要的一个组件,用来展示数据列表,还可以灵活使用进行页面的布局。UITableView的使用遵循MVC模式,数据模型(NSObject)、视图(UIView...

    2017-02-08 16:44
    1198
  • 【iOS沉思录】KVC与KVO,NSNotification通知

    什么是键值编码KVC,键路径是什么? 什么是键值观察KVO? 键值编码KVC: 键值编码是一种在NSKeyValueCoding非正式协议下使用字符串标志间接访问对象属性的一种机制,也就是访问对象变...

    2017-01-21 23:08
    582
  • 【iOS沉思录】OC中的类扩展机制:Category类别和Extension类扩展

    OC中类别(Category)是什么? Category类别是Objective-C语言中提供的一个灵活的类扩展机制。类别用于在不获悉、不改变原来代码的情况下往一个已经存在的类中添加新的方法,只需要知...

    2017-01-19 23:38
    690
  • 【iOS沉思录】iOS中的二维数组

    首先我们知道OC中是没有二维数组的,二维数组是通过一位数组的嵌套实现的,但是别忘了我们有字面量,实际上可以和C/C++类似的简洁地创建和使用二维数组。这里总结了创建二维数组的两种方法以及数组的访问方式...

    2017-01-05 22:14
    3035
  • 【iOS沉思录】iOS添加自定义字体详解

    字体是软件开发中个性化的一个重要元素,系统自带了很多丰富的字体,但有时候并不能满足个性化的需求,这时候可以向工程中添加自定义的系统字体,然后就可以像使用系统字体一样使用。字体文件最常用的为ttf等格式...

    2017-01-04 17:50
    2312
  • 【iOS沉思录】:iOS多媒体音频(下)-录音及其播放

    上一篇中总结了iOS中音效和音频播放的最基本使用方法,其中音频的播放控制是使用AVFoundation.framework框架中的AVAudioPlayer播放器对象来实现的,而这里音频的录制则是使用...

    2016-12-29 23:28
    2360
  • 【iOS沉思录】Objective-C语言的动态性总结(编译时与运行时)

    编译时与运行时 编译时: 即编译器对语言的编译阶段,编译时只是对语言进行最基本的检查报错,包括词法分析、语法分析等等,将程序代码翻译成计算机能够识别的语言(例如汇编等),编译通过并不意味着程序就可以成...

    2016-12-25 23:26
    2085

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部