IOS开发
文章平均质量分 76
飞笑破天
这个作者很懒,什么都没留下…
展开
-
灵活运用block,写自己的完成回调,带你嗨翻天!
Block和C中的函数很类似,有声明和实现,返回值,名字,参数列表。 Block在IOS开发中有一个非常重要的应用场景,一个方法执行完了,我想让他执行不同的方法(特别是一些未知的方法), 也叫方法执行完成的回调,通常把block作为参数来实现。block的形体千奇百怪,总结一下有下面三种: Block的三种书写格式: 1.声明形式:返回值类型(^名字)(传入参数列表) 例如原创 2016-02-16 14:07:20 · 550 阅读 · 2 评论 -
工厂模式的block回调(使用简单方便)
直接上源码 #import #import @interface UITool : NSObject +(UIButton*)buttonIn:(UIView*)view withTitle:(NSString *)title titleColor:(UIColor*)titleColor fontSize:(int)fontSize imageName:(NSString*)imageN原创 2016-03-16 16:49:44 · 356 阅读 · 0 评论 -
灵活运用IOS类别(Category)和扩展(Extension)
先来说说类别的应用场景。既然已经有了继承,还要类别干嘛。类别是为已有类添加新方法,已有类可以是系统类或者自定义的类,类别的作用主要体现在为系统类添加新方法,这也是他的精髓。想想一个这样的场景,工程写到一半,需要为某个类添加新方法。如果你用继承的话,类名肯定要变了,所有你要用到新方法的地方,你都得一个一个的去改,一个工程上百个文件,想想都觉得蛋疼。这时候你只需要写个类别就ok了,什么都不用改。 创原创 2016-02-17 15:11:06 · 636 阅读 · 3 评论 -
灵活运用runtime改写系统的方法
iOS系统的一些方法的实现效果不尽人意,例如数组越界苹果就会直接crash,不会像字典一样置空,程序就会闪退,用户体验会很不好。有些时候数组越界了,但我们不想让程序崩溃。越界了,就置空,程序还能正常运行。那么如何避免数组越界引起的程序崩溃?重写NSArray的objectAtIndex方法,然后在里面写一些自己的操作,但是我们并不知道系统的objectAtIndex是如何实现的。原创 2016-03-07 11:10:19 · 1525 阅读 · 0 评论