- 博客(22)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 浅谈Swift2.0对optional value的安全处理,慎用问号叹号"?!",消除swift项目里的"?!"
刚从oc转过来swift的朋友应该会感觉到swift中optional类型的粘人,是的,使用swift后就跟optional value撇不清关系了,刚上来的代码可能会是?!满天飞,这些?!肯定是要花功夫心思解决的。swift要求编码者时时刻刻都对optional变量保持安全性思考,考虑该optional值会否为空(nil),若为空会不会带来影响,当然,不注意optional变量的安全使用,会
2015-11-26 15:50:57
1230
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 说说objcRuntime的一些妙用(class_addMethod,class_replaceMethod)
前言:陈列一下今天要讲的知识点:objc_addMethod,objc_replaceMethod,method_getImplementation,object_getClass涉及到的知识》》使用category,通过Runtime实现用自己的函数调换掉原生函数》》oc的message forwarding》》使用Runtime为类添加原来没有的方法》》为什么cate
2015-10-29 16:02:37
4952
2
原创 ZYThumbnailTableView---堪比一个小型阅读App
Demo github地址: https://github.com/liuzhiyi1992/ZYThumbnailTableView 原文地址:http://zyden.vicp.cc/zythumbnailtableview/ 欢迎转载,请注明出处,谢谢 后期会更新oc版本 可展开型预览TableView,开放接口,完全自由定制虽然最近很忙,天天被html+css虐待,但
2016-03-25 23:49:56
1530
原创 Swift默认参数 & 可变参数
原文地址:http://zyden.vicp.cc/defaultparameter/ 欢迎转载,请注明出处,谢谢 Swift相比于oc有很多方便的新特性。今天我们来介绍下Swift中的默认参数(default parameter)和可变长参数(variable parametric)。 这篇文章刚起笔的时候的题目其实是这样的:”Swift可选参数带来的便利”,组织了一会发现不太对劲,怎
2016-03-25 23:44:41
2809
1
原创 一行代码让圆角风雨无阻,告别离屏渲染性能损耗
github链接: https://github.com/liuzhiyi1992/ZYCornerRadius 本人博客地址:http://zyden.vicp.cc/zycornerradius/ 这篇文章介绍ZYCornerRadius(一句代码,圆角风雨无阻)解决生产中圆角带来的离屏渲染问题的思路。 日常生产中app布局离不开美丽的圆角(RounderCorner),特别是用圆角
2016-03-25 23:42:56
3324
1
原创 SpreadButton,想拥有一个应用内的AssistiveTouch(助手按钮)吗
顾名思义,一个会散开的按钮,主体按钮被点击后触发子按钮的展出,选择其中一个功能子按钮,或者点击任意地方,触发子按钮的收缩隐藏。SpreadButton设计有2种展开方式,2种位置模式,8个展开方向。 A Button spread its sub path buttons like the flower or sickle(two spread mode) if you click it, once again
2016-02-22 23:35:42
816
原创 WaveLoadingIndicator 送出一个波浪进度指示器
之前在不知道哪里看见有Android的开发者分享一个像是注水玻璃球一样的进度指示器,觉得挺有意思想去了解下实现方式,但是在github上却找不到ios的类似的东西,还是决定自己找个时间尝试尝试实现。原因就是这样,好了先上成品
2016-01-24 15:27:55
914
原创 ZYKeyboardUtil 两个Block搞定键盘遮盖输入控件
键盘遮盖输入控件或按钮在日常app开发中避之不及,考虑各种情况下UI各种嵌套,最后还要注册监听再获取指定键盘信息。我们可以通过键盘处理工具类ZYKeyboardUtil避繁就简,利用Block的方式处理键盘遮盖问题。ZYKeyboardUtil 通过lazy方式注册键盘通知监听者,核心工作围绕一个model和==三个Block==,内部类KeyboardInfo充当model存储着每次处理时所需的键盘信息。
2016-01-24 15:26:40
1051
1
原创 Map all the things in Swift 映射所有东西
在[上一篇文章](http://zyden.vicp.cc/map-those-arrays/)中我们为数组引入了map()和flatMap(),详细讲解了他们的用法和优点,其实map和flatMap也适用于Optionals类型 和 其他很多的类型,今天我们来探索下他们的用法。
2016-01-24 15:24:47
595
原创 在Ghost博客 中使用 highlight.js 实现 代码高亮
谢谢搭建好Ghost后,默认并不会对页面中的代码作其他处理,并不能直观地显示出代码结构,我们可以通过highlight.js的帮助实现代码高亮。 ==此教程非常简易明了,助你在CentOS轻松用上highlight.js==顺手贴上highlight.js的介绍: –支持 71种编程语言的语法解析
2016-01-03 14:34:24
3438
原创 在CentOS 搭建 自己的Ghost博客教程
目前网络上对搭建Ghost的教程明显比较旧了,一个流程下来并不能成功,本人整理下这篇文章,让大家也能用上写作体验轻便快捷的Ghost博客。我的系统是32位的CentOS 6,也是目前VPS上主流的操作系统我的版本信息: –VPS:Alp
2016-01-03 13:41:40
2414
原创 swift中String和Character的使用与总结
使用String字面量给常量赋值let string = "string literal value"常量string将会自动推断为String类型初始化一个空的Stringvar emptyStr = "" //使用空字符串字面量var anotherEmptyStr = String() //使用构造方法//两者没有区别使用isEmpty判断空String:if e
2015-12-25 17:36:29
1409
原创 ios 长按手势UILongPressGestureRecognizer 开始/结束(按下/抬起)
UILongPressGestureRecognizer一般我们使用长按手势的目的都是为了触发某种响应,通过控制属性minimumPressDuration来控制最小触发时间(默认为0.5秒),而如果有一种非常见但是又很合理的需求:触发长按后开启某个子线程循环执行某种操作,而且在用户不需要时停止。例如一个类似计算器的一个面板:这里需要长按删除键实现快速删除,当然抬起后就会停止,我用了不
2015-12-18 17:22:34
13670
1
原创 为swift编码引入map()和flatMap(), map those arrays
map()是Array的一个方法,他接收一个改变数组内每个元素的规则的function作为参数,返回值是一个所有元素改变后的集合。这让我们很方便地用每个x->y的转换来实现[x]->[y]的转换,而不是像以前那样去创建一个临时的mutableArray来做这样的工作。
2015-12-17 18:28:43
732
原创 swift 中的双问号 ?? Double Question Mark
对于Swift项目中对Optional Value的安全有效处理在我的上一篇文章中已经详细谈论:地址今天来补充下双问号的用法对于不期望某个optional值为nil时func返回nil 或者 因为其值为nil而停止了后续业务的情况下,我们可以用"??"在optionalValue为nil时做赋值保险操作(“??”操作后返回值为非optional)用法:newValue = option
2015-12-09 18:09:46
4187
原创 mutating的使用(swift2.0)
mutating 例子:为String添加extention 属性lenth 方法,appendString
2015-12-09 00:02:54
977
转载 UIImageJPEGRepresentation和UIImagePNGRepresentation使用区别
UIImageJPEGRepresentation方法在耗时上比较少 而UIImagePNGRepresentation耗时操作时间比较长-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info使用
2015-11-29 11:59:12
6312
原创 告警exc_bad_access copy assign 重写setter方法时
exc_bad_access copy assign 重写setter方法
2015-11-27 16:54:53
657
原创 The app icon set "AppIcon" has an unassigned child告警
相关告警:The app icon set "AppIcon" has an unassigned child选中,delete有未分配:The app icon set "AppIcon" has 2 unassigned children
2015-11-20 18:01:30
8575
原创 UILabel minimum font size告警
相关告警:Minimum Font Size greater than current font size
2015-11-16 11:25:08
1906
原创 Swift2.0后"|" cannot be applied to two operands问题解决方法
UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes:UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories:nil)) UI
2015-10-31 16:26:54
2523
原创 performSelector与中括号调用的区别
先简要分别叙述下方法的直接调用和通过performSelector:@selector()调用的区别-------以oc作为例子,我们平常通常通过中括号调用方法对某目标发送消息,例如[myArray count],如此调用方法的前提是接收信息方已经有相应的方法声明,并且使用处有#import相关的头文件,需要通过编译-------而对已performSelector
2015-10-29 15:57:41
532
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人