美文网首页
runtime的实际应用以及API设计

runtime的实际应用以及API设计

作者: 乡村武装青年 | 来源:发表于2015-12-23 18:33 被阅读412次

今天照例撸代码,看到如下设计图.在设计图的上看到有许多的地方都有一个红色提醒标识.于是就想着做一个类似Badge的控件.开始想自定义一个这样的控件,但是发现如果要实现一个类,这样其他已有的视图可复用性太低,最后打算给uiview写一个cagetory.

设计API接口的时候就想着如果一个方法里面的参数过多,就会过度设计.但是如果参数太少,可复用性就差.最后决定用 objc_setAssociatedObject 和 objc_setAssociatedObject 来动态的为uiview加上badge这样的属性.

我们都知道,catagory之所以不能给一个类添加属性是因为编译器在最开始就已经分配好了内存,所以无法在添加任何实例变量,但是有了runtime,让一切皆有可能.

具体实现的代码如下:


[cellshowBadgeWithStyle:WBadgeStyleNumbervalue:8];

cell.badgeCenterOffset=CGPointMake(-40,22);

还未解决的问题:如果视图使用autolaoout布局,就无法获得具体frame,badged就无法出现在右上角,只能出现在左上角.

相关文章

  • runtime的实际应用以及API设计

    今天照例撸代码,看到如下设计图.在设计图的上看到有许多的地方都有一个红色提醒标识.于是就想着做一个类似Badge的...

  • Runtime的应用

    Runtime的基本属性和消息转发机制已经介绍过了,下面来了解一些Runtime提供的api在实际项目中的应用。 ...

  • 面试总结

    1.Runtime介绍以及实际应用https://blog.csdn.net/TuGeLe/article/det...

  • RunTime实际应用

    一. RunTime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是...

  • Runtime:实际应用

    一、遍历一个类所有的成员变量,实现一键归档解档二、使用Method Swizzling 1、从全局上为项目做一些统...

  • runtime的实际应用

    1、使用关联对象动态给分类添加属性 使用关联对象,可以为类添加Category中的属性,我们可以为现有类添加一些实...

  • iOS Runtime的实际应用

    iOS Runtime的实际应用 导入 见题知意,这篇文章并不是告诉你什么是Runtime机制以及它的原理,本文主...

  • Runtime全面剖析之原理篇

    如果想了解Runtime的实际应用请看Runtime全面剖析之简单使用 一:Runtime简介二: Runtime...

  • runtime实现原理以及实际开发中的应用

    自己收集了一些这方面的帖子,基本搞懂了,果断分享出来大家一起进步。runtime 主要是这两个帖子 http://...

  • iOS底层原理 - Runtime-03

    Runtime API - 类 Runtime API – 成员变量 Runtime API – 属性 Runt...

网友评论

      本文标题:runtime的实际应用以及API设计

      本文链接:https://www.haomeiwen.com/subject/jzjvhttx.html