首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发·runtime原理与实践: 关联对象篇(Associated Object)(应用场景:为分类添加“属性”,为UI控件关联事件Block体,为了不重复获得某种数据)

本文中,第一节将介绍关联对象及如何关联对象,第二节将介绍关联对象最常用的一个实战场景:为分类添加属性,第三节将介绍关联对象另一个很重要的实战场景:为UI控件(比如,UIAlertView以及UIButton...因为在分类中 @property 并不会自动生成实例变量以及存取方法,所以一般使用关联对象为已经存在的类添加 “属性”。...2.3 实战场景 需求:比如你为UIView添加事件,可以在上面添加一个UITapGestureRecognizer,但是这个点击事件无法携带NSString信息(虽然可以携带int类型的tag),这就无法让后续响应该事件的方法区分到底是哪里激活的事件...那么,你是否能为这种添加事件的方式携带另外的信息呢?...) //类拓展添加属性 @property (nonatomic, strong) NSString *dataStr; @end UITapGestureRecognizer+NSString.m

3.1K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS8统一的系统提示控件——UIAlertController

    iOS8统一的系统提示控件——UIAlertController 一、引言         相信在iOS开发中,大家对UIAlertView和UIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大的作用...在iOS8之后,系统吸引了UIAlertController这个类,整理了UIAlertView和UIActionSheet这两个控件,在iOS中,如果你扔使用UIAlertView和UIActionSheet...这里有旧的代码的使用方法: UIAlertView使用:http://my.oschina.net/u/2340880/blog/408873。...,UIAlertAction类的构造十分简单,如下: //初始化方法 + (instancetype)actionWithTitle:(nullable NSString *)title style:(...*title; 设置警示控件的标题 @property (nullable, nonatomic, copy) NSString *message; 设置警示控件的信息 @property (nonatomic

    71410

    iOS下JS与原生OC互相调用(总结)

    *alertView = [[UIAlertView alloc] initWithTitle:@"方式一" message:@"这是OC原生的弹出窗" delegate:self cancelButtonTitle...关于这种方式调用OC方法,唐巧早期有篇文章有过介绍: 关于UIWebView和PhoneGap的总结 方式二 在iOS 7之后,apple添加了一个新的库JavaScriptCore,用来做JS交互,...documentView.webView.mainFrame.javaScriptContext"]; 再然后定义好JS需要调用的方法,例如JS要调用share方法: 则可以在UIWebView加载url完成后,在其代理方法中添加要调用的...*alertView = [[UIAlertView alloc] initWithTitle:@"方式二" message:@"这是OC原生的弹出窗" delegate:self cancelButtonTitle...OC调用JS篇 方式一 NSString *jsStr = [NSString stringWithFormat:@"showAlert('%@')",@"这里是JS中alert弹出的message"]

    5.2K30
    领券