gpt4 book ai didi

ios - 最佳实践 : handling actions from buttons inside tableview cells?

转载 作者:可可西里 更新时间:2023-11-01 03:02:28 25 4
gpt4 key购买 nike

我有一个“联系人列表” TableView ,其中包含一个电子邮件按钮的“联系人”单元格,点击该按钮时,应该会向电子邮件编辑器显示该联系人的电子邮件地址。

将 UIButton 与该单元格的“联系人”实例相关联的最佳方式是什么?

我已经为想到的两种方法创建了答案——但我并不真正满意。您更喜欢哪个,或者更好,建议更好的!

最佳答案

方法二:

让单元格处理操作并调用自定义委托(delegate)方法。

// YMContactCell.h
@protocol YMContactCellDelegate
- (void)contactCellEmailWasTapped:(YMContactCell*)cell;
@end

@interface YMContactCell
@property (weak, nonatomic) id<YMContactCellDelegate> delegate;
@end

// YMContactCell.m
- (IBAction)emailContact:(id)sender {
[self.delegate contactCellEmailWasTapped:self];
}

// ContactListViewController.m
- (void)contactCellEmailWasTapped:(YMContactCell*)cell;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
YMContact *contact = [[self fetchedResultsController] objectAtIndexPath:indexPath];
// present composer with `contact` ...
}

在 View 中处理事件是否违反了 MVC 原则?

关于ios - 最佳实践 : handling actions from buttons inside tableview cells?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com