OC runtime入门实战项目运用 UIImagePickerController相册多选器

智勇播客:

上一篇文章中,跟大家讲解过runtime的几个入门级方法的使用。但大家肯定会有一个疑问就是,虽然知道了这些方法的使用,但这些方法应该在哪里用?什么时候用?

这篇文章中,就跟大家来一个实战项目,在真实项目中,运用上这些方法。

对于我个人而言,runtime的使用,大多数都是用于修改类的方法、增加类的属性成员,特别是对于系统的类。在系统原生类的基础上,利用进行时来修改方法、添加属性成员会比你继承这个类,效率要快的多,而且实用性也要高的多。

为什么说对于实用性来说要高呢?因为对于系统类来说,你能看到他的方法、属性成员,往往只是表面的。但这绝对不是这个类的所有方法、属性成员。你可以当做还有一些隐性的方法、属性成员,你在编译时,是看不到的。只有代码运行起来后,才能看到。

这也是能体现出OC是一门进行时语言的一个地方。

此时,你要修改一些,你知道,但却在编译时 还没有体现出来属性成员和方法函数时,你就只能乖乖的用runtime进行时吧!

现在实战项目来了:

系统类UIImagePickerController 大家都不会陌生,基本上一个成熟的APP都需要用到这个类。相册选择器

让用户去相册中,选择相片  就只能使用系统的这个类,让后监听delegate回调 取出用户选择的相片。

但系统这个类有一个不好的地方就是,不能多选!每次选择相片,只能一张一张的选!  如果让用户去选9张相片,你的APP让用户去一张一张的选,我想选完9张相片后,你的APP就可以跟用户说byebye了!

而这个项目,就是利用runtime去修改UIImagePickerController的属性、方法函数,来实现我们需要的多选状态。

代码我直接上到gitHub上了。

大家移步到gitHub上downLoad一下就好了 

Demo中 注释非常的详细,特别是对于runtime中的方法解说的很详细。所以这里就不再重复了。

如果觉得有用,记得gitHub上给个星!


在这里上一些Demo的运行图:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 对于从事 iOS 开发人员来说,所有的人都会答出【runtime 是运行时】什么情况下用runtime?大部分人能...
    梦夜繁星阅读 3,741评论 7 64
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,821评论 25 709
  • 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的...
    西木阅读 30,657评论 33 466
  • 蓝梦清韵阅读 4,851评论 0 0