使用单元格按钮操作传递多个参数

2024-04-01

NOTE:我不需要任何关于使用 UITableview 的 didselect 委托发送数据的建议

myButton.h

#import <UIKit/UIKit.h>
@interface myButton : UIButton
{
    id userData;
}

@property (strong,nonatomic) NSString* data1;

@end

我的按钮.m

#import "myButton.h"

@implementation myButton

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

@end

我用于测试的自定义单元 CollectionView Cell.h

#import "myButton.h"
@interface testCollectionViewCell : UICollectionViewCell 
@property (nonatomic,weak) IBOutlet myButton *serviceFav;

我用于测试的自定义单元 CollectionView Cell.m

#import "testCollectionViewCell.h"
#import <QuartzCore/QuartzCore.h>

@implementation testCollectionViewCell
 @synthesize serviceFav;
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code

        //self.serviceFav=[myButton buttonWithType:UIButtonTypeCustom];

    }
    return self;
}


// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{



}

@end

这是我的集合视图委托代码

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    testCollectionViewCell *cell = [testCollectionViewCell dequeueReusableCellWithReuseIdentifier:@"testCollectionViewCell" forIndexPath:indexPath];
    cellData = [self.collectionData objectAtIndex:[indexPath row]];

    cell.serviceFav.data1 = @"data1"; **//shows error here and kills**

    [cell.serviceFav addTarget:self action:@selector(touchUpHandler:) forControlEvents:UIControlEventTouchUpInside];


    return cell;
}

//----- 这不叫 ----我想叫它

-(void)touchUpHandler:(myButton*)sender
{

    UIButton *button = (myButton *)sender; //instance of UIButton
    NSLog(@"Data 1 = %@",sender.data1);
}

我刚刚用与问题中相同的过程制作了一个样本,并且它有效。

Link: https://www.dropbox.com/s/lb2k7nzsytxjnl2/tabletest.zip?dl=0 https://www.dropbox.com/s/lb2k7nzsytxjnl2/tabletest.zip?dl=0

采取了自定义按钮类

我的按钮.h

#import <UIKit/UIKit.h>

@interface MyButton : UIButton

@property (strong,nonatomic) NSString* data1;
@property (strong,nonatomic) NSString* data2;

@end

我的按钮.m

#import "MyButton.h"

@implementation MyButton

@end

为您创建一个 IBOutletCustomCell Class

自定义TableViewCell.h

#import <UIKit/UIKit.h>
#import "MyButton.h"

@interface CustomTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet MyButton *btnLike;

@end

视图控制器.m

#import "ViewController.h"
#import "CustomTableViewCell.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 5;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    CustomTableViewCell* cell = (CustomTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"CustomTableViewCell"];

    cell.btnLike.data1 = @"data1";
    cell.btnLike.data2 = @"data2";

    [cell.btnLike addTarget:self action:@selector(touchUpHandler:) forControlEvents:UIControlEventTouchUpInside];

    return cell;

}

- (void) touchUpHandler:(MyButton *)sender {

    NSLog(@"Data 1 = %@",sender.data1);
    NSLog(@"Data 2 = %@",sender.data2);

}
@end

单击单元格中的按钮后,它将转到选择器方法touchUpHandler并在控制台上打印

2016-10-12 23:14:39.034 tabletest[28414:671128] Data 1 = data1
2016-10-12 23:14:39.035 tabletest[28414:671128] Data 2 = data2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用单元格按钮操作传递多个参数 的相关文章

  • iOS:GMail API - 通过电子邮件发送附件

    我能够成功发送没有附件的电子邮件 但是 当我尝试使用 GTLUploadParamaters 上传附件时 出现 501 错误 我尝试添加照片库中附件的 NSData 以及仅发送图像的 URL 在这两种情况下我都得到了同样的错误 Create
  • 重新定位时 Mapbox 默认的 compassView 会给出奇怪的结果

    我遇到一种情况 必须将地图框罗盘视图重新定位到不同的位置 当我以其他点作为其 compassView 轴旋转地图时 compassView 现在正在旋转 并给了我一个奇怪的结果 附截图 黑色mapBox默认罗盘图标是旋转的 参考截图 这是
  • 切换到 Xcode 7 后,应用程序大小从 9 MB 增长到 60 MB,有解决办法吗?

    我一直在回顾 Git 历史来寻找文件大小发生巨大变化的原因 但我能找到的唯一真正原因是从 Xcode 6 切换到 Xcode 7 GM 我发现这些是文件大小贡献最大的 10 个 ipa创建自Archive操作在一个Release构建配置 u
  • Alamofire 仅在 GET 请求上出现请求错误

    我正在努力将我的项目从 AFNetworking 转移到 Alamofire 真的很喜欢这个项目 POST 请求工作得很好 但是 我在尝试发出 GET 请求时收到此错误 这是一些示例代码 class func listCloudCrednt
  • 数组索引超出范围的表视图

    我正在使用数组从数据库读取数据 目前数组中有 8 个项目 我正在尝试制作一个有节标题的表格 目前我有 4 个部分 并且我已正确设置并且它有效 它也可以在第一次运行时运行 但是当我尝试向后滚动时 我发现索引超出了范围 我正在使用 myarra
  • 了解 malloc_history 转储

    如果您曾经问 过如何调试 Objective C 中的释放 分配问题 您将遇到这些可以帮助跟踪问题的环境设置 NSZombieEnabled 释放后保留对象 以便您可以获得指针等 MallocStackLogging 保留对象历史记录以供以
  • 排除 Realm 模型类

    我的应用程序中配置了两个领域文件 我想存储我的Log将模型与其他模型分开保存为单独的文件 我的问题是我也看到了我的Log我不想要的默认 Realm 文件中的模型类 如何从给定的 Realm 文件中排除特定的模型类 我使用主 Realm 文件
  • Modal UIViewController 在 iPad 上总是全屏显示。为什么?

    我试图在 iPad 上创建一个简单的模式对话框 无论是小设置 UIModalPresentationFormSheet 还是大设置 UIModalPresentationPageSheet 但无论我做什么 它们都会全屏显示 带有标题栏 模态
  • Angular/ HTML5 到 iOS WKWebView 通信

    我们正在尝试看看发送信号的最佳选择是什么To iOS WKWebView fromAngular 6 HTML5 项目 任何示例都会很棒 我们想要做的是 我们在 Angular 网页上有一个按钮 单击该按钮应该通知 iOS 执行某些操作 我
  • iOS 上的三字母国家代码

    我知道您可以在 iOS 上获取所有国家 地区的两个字母的国家 地区代码 但是有没有办法获得三个字母的国家代码 So from http en wikipedia org wiki ISO 3166 1 alpha 2 http en wik
  • Objective-C 中的 at 符号和大括号,@{ ... } 是什么意思?

    我在 Objective C 中有这一行 NSMutableArray mutableArray mutableArray addObject Something aObject Otherthing anotherObject 什么是 部
  • Xcode 和 Waze 集成

    我正在尝试整合我的app with waze http www waze com 有人知道如何调用位智并发送坐标吗 我没有找到任何 API 或其他相关信息 void navigateToLatitude double latitude lo
  • 以编程方式进行排序时检索 ViewController 堆栈

    static func showMenuView parentVC UIViewController let storyboard UIStoryboard name Main bundle nil let resultController
  • 如何在调用-reloadData后保留UITableView contentoffset

    CGPoint offset table contentOffset table reloadData table setContentOffset offset animated NO unuseful block UITableView
  • 如何在 Cocoa with Core Data 中上传和存储文件?

    我有一个应用程序 我希望能够将文件上传到其中 我可以想象序列化数据 将其放入数组中 然后序列化数组并将其放入核心数据中 但这似乎不太正确 我还可以想象将文件复制到应用程序的支持文件中 获取这些文件的 NSURL 并存储数组或 NSURL 无
  • UIView 子类中使用的 CAShapeLayer 不起作用

    我尝试了几个小时 用 CAShapeLayer 在 UIView 周围获得虚线边框 但我没有显示它 ScaleOverlay h import
  • geocoder.geocodeAddressString 今天不再适用于快速更新

    https developer apple com library prerelease mac releasenotes General APIDiffsMacOSX10 11 Swift CoreLocation html https
  • 播放声音无延迟 iOS

    我找不到如何以低延迟播放真实声音的方法 我尝试使用 AVFoundation 音频播放器 巨大的延迟大约 500 毫秒 所以我尝试创建系统声音 如果运气不好 延迟大约为 200 毫秒 虽然不多 但对我来说没有用 我最多需要 50 毫秒 确保
  • 奇怪的 Facebook ID [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有两个 Facebook 应用程序 它们都正在开发中 其中一个是很久以前创建的 而另一个则是相当新的 自从我升级到新的 iOS Faceb
  • Expo eas-cli iOS 构建失败

    我已经使用 React Native 创建了一个应用程序 并尝试通过 Expo 的 eas cli 创建一个 iOS 应用程序商店 跑步时eas build platform ios the Fastlane build failed wi

随机推荐

  • 从支付网关重定向后丢失用户 cookie 和会话数据

    我正在将 ASP net MVC5 用于我的电子商务项目 我没有使用任何 SSL 我也成功集成了支付网关 我面临的问题是 当我将数据发布到支付网关时 它会处理付款并将响应发送回我们的 Web 应用程序操作方法 用户会被注销 即 User i
  • py2exe 与 matplotlib、numpy 和 pylab

    我正在尝试生成一个可执行文件 我正在使用的软件包是 import sys import matplotlib pyplot as plt from pylab import from numpy import setup py 如下 fro
  • .Net Core Api - 基于请求值的自定义 JSON 解析器

    我希望拥有一切OkObjectResult来自我的 api 的响应通过我拥有的自定义 JSON 解析器运行 解析器依赖于一些特定于请求的数据 即用户的角色 它实际上类似于控制器上的 Authorize 属性 但用于从 API 传递到 UI
  • 如何在angularjs中从模板html调用指令

    Html 在这个 html 模板文件中 我必
  • 如何在 numba 中调用 `@guvectorize` 内的 `@guvectorize`?

    我正在尝试打电话 guvectorize里面一个 guvectorize但我有一个错误说 Untyped global name regNL nb cannot determine Numba type of
  • .htaccess r=301 与 r=302

    我正在我的 htaccess 中为移动设备或坏页面等创建规则 我正在使用这些规则 rewriterules badpage goodpage html r 302 rewriterules iphone iphone html r 301
  • 具有动态测试数量的 JUnit 测试

    在我们的项目中我有几个JUnit http www junit org 测试例如从目录中取出每个文件并对其运行测试 如果我实施一个testEveryFileInDirectory方法中的TestCase这显示为只有一项可能失败或成功的测试
  • Gradle 将下载的 jar 存储在本地文件系统的什么位置

    Gradle如何将下载的jar文件存储在本地文件系统上 Maven 将它们存储在 m2目录下USER HOME 但是 Gradle 将它们存储在哪里 我检查了 gradle文件夹那里 但只看到编译的脚本 在 Mac Linux 和 Wind
  • 使用可变数量参数的动态调用中的受控异常处理

    In a 昨天的话题已解决 https stackoverflow com questions 9726032 puzzle involving unwound stacks on dynamic invoke 9750323 hvd 向我
  • C 中取消引用和括号引用的操作顺序

    If I do ptr x 这相当于 ptr x or ptr x ptr x See the 维基百科运算符优先级表 http en wikipedia org wiki Order of operations Programming l
  • 为 Django 查询强制使用 INNER JOIN

    这是我的架构 城市 gt 摄影师 我正在尝试获取至少拥有一名摄影师的城市列表 并返回这些城市的摄影师数量 这是我正在使用的查询集 City objects annotate photographer count aggregates Cou
  • User.config是如何创建以及如何使用的

    我开始阅读有关配置文件的内容 并阅读有关 user config 的内容 谷歌搜索了一下 但找不到它是如何创建以及如何使用的 另请注意 将为每个用户创建一个单独的 user config 甚至阅读 StackOverflow 中的问题 但它
  • iOS10应用关闭时如何响应本地通知?

    当应用程序完全关闭 不在后台 时如何响应本地通知 当应用程序在后台或前台运行时 一切正常 但是当应用程序关闭并且我试图回复通知时 仅 application didFinishLaunchingWithOptions 被呼叫 userNot
  • python中带注释的双向条形图plotly

    我有一个带有玩具版本的 pandas 数据集 可以用它创建 creating a toy pandas dataframe s1 pd Series dont have a mortgage 31 8 have mortgage 15 65
  • 从 Boost 多索引迭代器获取数字索引

    我正在存储以下一堆内容 struct Article std string title unsigned db id id field in MediaWiki database dump 在 Boost MultiIndex 容器中 定义
  • 如何将图像旁边的文本垂直居中

    无论我做什么 我都无法使镜头在图像旁边垂直居中 有什么想法吗 我已经搜索过但没有结果 任何帮助将不胜感激 谢谢 您可能需要扩大结果窗口才能看到我在说什么 FIDDLE http jsfiddle net mbM7C 4 HTML div c
  • 使用 Twilio 发送群组消息

    有没有办法使用 twilio 向群组线程发送消息 我不希望每个收件人都有一个单独的线程 其中包含发送消息的 twilio 号码 感谢您的任何建议 来自 Twilio 的 Ricky 在这里 您无法按照您所描述的方式进行设置 但我们确实有一篇
  • 如何在 IIS 10 上配置缓存?

    我有一个网站 并且启用了缓存 如下所示 为服务器启用缓存 为我正在测试的网站启用缓存 在响应标头中 我将整个网站的网页内容过期时间设置为 30 天 没有针对任何特定文件夹的设置 为文件 css js png woff2 启用缓存 在 Chr
  • 在 Kotlin 中为 API 级别小于或等于 16 创建 Date 对象

    这听起来可能非常有趣和基本 但我正在努力通过将纪元到它的秒数传递给 Kotlin 来创建 DateTime 类型的对象 我得到的示例要么是需要 API 级别 26 的库 要么只是讨论从 DD MM YYYY 字符串到其他字符串的格式转换 到
  • 使用单元格按钮操作传递多个参数

    NOTE 我不需要任何关于使用 UITableview 的 didselect 委托发送数据的建议 myButton h import