美文网首页
在iOS中的按钮传值

在iOS中的按钮传值

作者: CasouV | 来源:发表于2017-02-13 11:27 被阅读0次

在iOS中的按钮能传值吗?

一般可以用打tag的方法来传值:

[button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];[button setTag:100];

//下面是action方法

-(void)action:(UIButton *)sender{

//sender就是UIButton,因此通过sender.tag就可以拿到刚才的参数

int i = [sender tag];

}

但是有没有更好的解决方法呢:

利用object-c的runtime特性,

#import<objc/runtime.h>

[button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];

//RunTime 传值 将需要传的值放到@"需要传的值"这个位置

objc_setAssociatedObject(button, @"key",@"需要传的值", OBJC_ASSOCIATION_RETAIN_NONATOMIC);

-(void)action:(UIButton *)button

{

//获取到通过runtime传过来的值

NSString *str =objc_getAssociatedObject(button, @"key");

}

相关文章

  • 在iOS中的按钮传值

    在iOS中的按钮能传值吗? 一般可以用打tag的方法来传值: [button addTarget:self act...

  • 在Activity中控制另一个Activity的UI更新之广播

    在MainAcitivity中,通过广播传值,点击按钮2改变按钮1的名称。

  • iOS 按钮传值

    前言 点击按钮的时候想传一些值过去,但是在按钮的实现方法里面只能拿到sender的一些数据。没法拿到其他数据。 下...

  • iOS页面间传值详解(二)

    在iOS页面间传值详解(一)中,介绍了iOS界面间的正向传值以及逆向传值的两种方法,其实逆向传值还可以使用bloc...

  • 【iOS开发细节】之- delegate代理的使用

    在iOS开发中、好多时候需要涉及到页面传值、而传值又分为正向传值和反向传值 一、 传值 1、正向传值 2、反向传值...

  • iOS中的传值方式

    在日常开发过程中,我们经常会遇到值传递。这里,介绍几种iOS开发中常见的传值方式。 1.属性传值 属性传值是iOS...

  • iOS传值方式

    在iOS中,常见的传值方式有以下几种:1.属性传值2.单例传值3.通知传值4.代理传值5.Block这些传值方式,...

  • 为什么要尽量少用通知进行传值

    在IOS的App开发中,传值是必不可少的. 常用的传值方法: 1:正向传值,也就是直接赋值 2:单例传值,其实也就...

  • iOS之传值

    在iOS中传值的方式有很多种方式,有最普遍的就是属性传值,代理传值,block传值等方式了。写了OC和swift的...

  • iOS 常用传值方式

    总结 iOS 日常开发中的几种常用传值方式:正向传值代理传值block传值通知传值单例 文章代码:https://...

网友评论

      本文标题:在iOS中的按钮传值

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