iOS - 进阶
文章平均质量分 66
孝平
坑害一个人是坑害,坑害一百个人以上则是教育。
喜欢瞎折腾的90后developer青年,我是水瓶座的哦
展开
-
高效开发iOS系列(runtime篇) -- 巧妙运用对象关联(Associated Objects)来设计alertview
热身 (简单介绍) 这个鬼(objc_AssociationPolicy : 对象关联)可以给某对象关联其他对象, 这些对象通过"键"来区分. 存储对象值的时候, 可以指明"存储策略", 用以维护相应的"内存管理语义".存储策略由名为objc_AssociationPolicy的枚举所定义. 同时拥有与之等效@property的属性. … (此处省略十万字的理论) 本篇原创 2015-12-22 22:15:15 · 6413 阅读 · 2 评论 -
自动布局神器 -- ZXPAutoLayout框架的使用
简述地址:http://www.jianshu.com/p/0ed897e93909什么是ZXPAutoLayout ? iOS原生的自动布局(NSLayoutConstraint)非常繁琐, 影响开发进度和可读性也不利于维护, 正所谓工欲善其事必先利其器 , 有一个良好的自动布局框架, 则会让我们事半功倍. 而ZXPAutoLayout则是解决这一问题和诞生 . 采用新颖的链式语法, 扩展性,可原创 2015-12-08 13:52:53 · 5333 阅读 · 4 评论 -
『干货』分享你最喜欢的技巧和提示(Xcode,objective-c,swift,c...等等)
亲爱的读者们,你们好 !年底将近,分享从过去一年你最喜欢的技巧和建议作为礼物送给新手们。提交你的最喜欢的迅速或objc琐事,有用的提示,意外的发现,有用的解决方法,无用的迷恋,或任何其他你觉得今年很酷。就在下面写下你的评论! 笔者分享总结如下(本篇会不定期进行更新) : objective-c用宏定义检测block是否可用~!#define BLOCK_EXEC(block, ...) if原创 2015-12-27 16:15:52 · 4233 阅读 · 6 评论 -
iOS 日期(NSDate)的常用操作总结
1.获取当前年月日 NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy/MM/dd"]; //日期格式 //如果还想要获取时分秒,直接原创 2015-12-04 17:22:41 · 1828 阅读 · 0 评论 -
iOS进阶之runtime(2)--KVO简单模拟实现
前言:上篇简单介绍了下runtime的几个API和KVO的底层原理,现在开始进入正题,来利用这几个API简单的模拟下KVO的原理.大概的步骤就是.1.在注册KVO的时候注册一个通知,并且替换set方法.2.然后在我们的set方法里调用原有的set方法,好继续执行原有set方法的逻辑,比如赋值等.3.然后在我们替换的set方法里判断值是否发生变化,如果发原创 2015-11-29 11:20:07 · 1073 阅读 · 0 评论 -
高效开发iOS系列(runtime篇) -- debug模式下使用po命令打印model的属性和值(runtime + debugDescription)
在开发过程中, 往往会有很多的model来装载属性. 而在开发期间经常会进行调试查看model里的属性值是否正确. 那么问题来了, 在`objective-c`里使用`NSLog("%@",model)`这行代码打印出来的却是`model`的地址. 不是我们所想要的结果~! 看图:原创 2016-01-04 00:01:16 · 5990 阅读 · 2 评论 -
高效开发iOS系列 -- 那些不为人知的KVC
我的简书地址:http://www.jianshu.com/p/a6a0abac1c4avalueForKeyPath 本篇来讲解一下那些不为人知,也经常被忽略掉,并且很实用的KVC干货小技巧获取数组里的,最大、最小、平均、求和 NSArray *array = @[@"1",@"3",@2,@9.5,@"1.2"]; NSNumber *sum = [array原创 2016-01-20 23:06:42 · 1628 阅读 · 0 评论 -
高效开发iOS系列 -- 让Xcode的控制台支持LLDB类型的打印
这有什么用?怎么说尼, 笔者认为这个还是比较有用滴, 为什么有用尼? 因为在Xcode断点调试的时候, 在控制台输入 ` po self.view.frame ` 或者 ` po ` id 类型的时候就死翘翘了. 看如下图进入正题打开终端输入三条命令:1. touch ~/.lldbinit2. echo display @import UIKit >> ~/.lldbinit3. ec原创 2015-12-16 22:21:44 · 2244 阅读 · 2 评论 -
runtime之Associated Objects
#import Objective-C开发者应该小心谨慎地遵循这个危险咒语的各种准则。一个很好的原因的就是:混乱的运行时代码会改变运行在其架构之上的所有代码。从利的角度来讲, 中的函数具有其他方式做不到的、能为应用和框架提供强大功能的能力。而从弊的角度来讲,它可能会会毁掉代码的sanity meter,一切代码和逻辑都可能被异常糟糕的副作用影响(terrifying转载 2015-12-01 23:06:34 · 2622 阅读 · 0 评论 -
OC(objective-c)_runtime运行时官方文档翻译 -- api 速查表
OC_runtime运行时官方文档翻译 Objective-C的运行时参考配套指南Objective-C的运行时编程指南在宣布IONDRVLibraries.h NSObjCRuntime.h objc / message.h objc / objc-api.h objc / objc.h翻译 2015-12-18 16:08:45 · 2754 阅读 · 0 评论 -
iOS进阶之runtime(1)开篇--初入江湖
前言:简单介绍: RunTime简称运行时。C在编译时候就会决定要调用哪一个函数,而OC的函数调用是为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找 到对应的函数来调用. 要想了解更多runtime的理论或者更深入的认知什么是runtime,自行去百度或者Google一大堆.笔者比较注重实战经验,所以在此不多废话了.原创 2015-11-28 23:58:07 · 801 阅读 · 0 评论 -
高效开发iOS系列 -- Xcode常用快捷键与技巧分享
工欲善其事必先利其器. 虽然Xcode编写objective-c or swift很完美, 但了解其工具的常用快捷键与技巧在编码过程中也能省下不少事. 尤其是键盘侠, 则更需要快捷键技巧(笔者就是键盘侠之一). 以下是笔者常用的一些快捷键与技巧总结~! 快速跳转到某一行快捷键: command + L 快速创建文件快捷键: command + N 快速打开某一个文件快捷键: co原创 2016-01-12 23:06:07 · 1286 阅读 · 0 评论