随笔分类 - 1、iOS
摘要:Swift项目添加OC文件,生成桥接bridge文件,有2种方式。 一、创建oc文件,xcode自动提示生成bridge header 文件,点击确定即可。(推荐) 二、手动创建bridge header文件,然后再build settings里面配置bridge header文件的路径。(不推荐)
阅读全文
摘要:在runtime时,动态的给对象增加键值或属性(或者形象的比喻为给对象Object插上本没有的大翅膀,让Object的能力更强大),通过 import,调用下面的两个函数即可以实现: 先看给对象动态的绑定其它对象或值的例子: 例子的效果是:点击按钮后,label的文字变成了nice_button。
阅读全文
摘要:Swift是为macOS、iOS、watchOS和tvOS设计的一门编程语言。简单易学、语法简单,交互性强都是它的特点。在设计这门语言时,就很注重考虑它的安全性,而且编译运行时也是非常的轻量快速。 Swift 4 是基于Swift 3 上的加强版本,带来更好的健壮性和稳定性。并且可以兼容Swift
阅读全文
摘要:总结与记录block的语法使用 局部变量: 类属性(property): 方法声明中的参数: 方法调用中的参数: typedef的方式: 仔细观察上面的block使用规范,可以总结出: ^符号在括号外部时,block是匿名的,后面跟上block返回类型。在括号内部时,^符号后面跟上block的名称。
阅读全文
摘要:NSProxy 一个抽象的超类,并且是不继承自NSObject的。可以通过它的API为其它的Object对象或者不存在的对象提供替身。 大概意思就是:我们知道狗不能飞,但是如果你通过NSProxy强行调用[狗 飞]的时候,可以通过NSProxy的提供的API,让狗飞的这个操作交给鸟来执行,前提是NS
阅读全文
摘要:接上一篇,说到了objc_class里面的method_list,以及SEL与IMP的一一对应关系,以及消息的发送处理过程,留下了动态方法解析和消息转发的迷点,这篇就继续学习这个留下的迷点。 一、动态方法解析 动态方法解析,顾名思义,就是在runtime时期动态的提供一个方法的实现。 举个栗子: 。
阅读全文
摘要:接上篇、说到了Runtime的基本认识、Runtime与Objective C的关系、以及陈述了objc_msgSend的过程。并且留下了一个线索,这篇就是对上篇留下的线索 结构体做分析学习。 objc_class 先看下这个结构体里面的定义: 从上面的objc_class的定义里面,看到了作为一个
阅读全文
摘要:前一篇关于NSProxy代理涉及到的关于消息转发,把以前写的runtime文章从github上转移过来。一共三篇,似乎自己也忘记了一些runtime的细节,需要温故一下。 一、什么是Objc的Runtime? Runtime是Objc语言的磐石,Objc语言得以运行,也是依靠runtime库的支持。
阅读全文
摘要:CADisplayLink 一个可以让你的App同步屏幕刷新帧率的定时器对象。在初始化CADisplayLink的时候,提供一个target和selector,这样当屏幕刷新的时候,会根据target调用对应的selector方法,需要将这个定时器添加到run loop中去同步屏幕的刷新loop。
阅读全文
摘要:近期主要是在搞iOS的即时通讯的开发,第一个及时聊天版本已经上线了。前期曾考虑过聊天类的SDK,因为考虑到深度的定制并且与业务的需求高度相关,但最后选择了自己实现整套聊天的过程。 前端使用的是SocketRocket、如之前的文章有所叙述。 "文章链接" 。 后端使用的是 "WorkerMan" 。
阅读全文
摘要:原理基本和安卓的.9图片类似。不过iOS是直接设定4个方向的距离inset,拉伸里面的小区域。 这里设置上下左右4个方向的距离都是30,然后看下面的图: 拉伸的区域也就是上图红色小方块的区域。 图片拉伸的几个方法: 代码的方式: 但上面的代码方式始终不够简洁明了。感觉拖泥带水。所以引出下面的方法。
阅读全文
摘要:延续之前的文章,本篇关于即时聊天界面的开发技巧。首先需要参考别人的产品,最具有参考性的应该是微信App了,它可以发送文字、表情、语音、图片等,这里讨论的是文字与表情混排的常见消息类型。使用到的是 YYText 。 YYText对很多iOS开发者并不陌生,因为在处理图文混排问题上,经常会用上它,而且A
阅读全文
摘要:好好好久没有在cnblogs上写博客,不过在这里写的最早的一篇博客的时间戳,真是时间久远啊,那时候还没毕业。不在cnblogs的期间,在github pages、简书上写过博客,github pages的markdown还是不错的,不过百度不能检索到文章,也就是通过百度,永远无法导流搜索到我的文章(
阅读全文
摘要:一些系统关键字的变换(服务器传的key名称id 转 模型中的tid),记录下:(本来是放在有道云笔记里面,整理笔记时,拿出来。。。其实没必要放博客的 = =)
阅读全文
摘要:小记一笔,免得下次翻阅的时候,又浪费太多时间去验证。 经常需要比对两个时间的差距,当差距7天的时候就给出一定的提示等等什么的。 代码如下:
阅读全文
摘要:iOS中的多行文本计算,这次是UITextView的多行文本。 注册UITextView的监听代理,当文字发生变化时,执行下面的代码来计算动态高度: 其中的tableview beginUpdates/endUpdates 是当UITextView控件在Cell中时,当TextView的高度变化时,
阅读全文
摘要:避免block中循环引用,内存释放不了的问题,规范编码很重要。 相对来说,在block中操作self时,正确的使用姿势。
阅读全文
摘要:记录一笔: 绘制本地验证码View的一个Demo源码:(出处:http://www.cnblogs.com/jerehedu/p/4527707.html) .h文件的代码: .m文件的代码: 如何使用:
阅读全文
摘要:平时这些代码用的时候,总是要搜索查阅,自己索性整理下记一笔,节约生命。 实现是直接给NSString类添加一个分类,并添加了计算文本高度的两个方法: 声明代码: 具体的实现代码:
阅读全文
摘要:iOS应用中,经常使用到一些程序自身的参数设定,故记录一笔。 看到这里,似乎明白了,其实上面的key就是App里面的info.plist的一些key。可以打开info.plist文件,然后根据你的需要获取对应的键值。 常见的罗列下: 还有包括网络类型的判断,电池电量的获取等等。但不常用,故不收录。
阅读全文

浙公网安备 33010602011771号