gpt4 book ai didi

ios - Objective-c 方法调用将引用传递给调用者

转载 作者:行者123 更新时间:2023-11-29 02:22:50 25 4
gpt4 key购买 nike

当使用 UITableView cellForRowAtIndexPath 方法时,调用该方法的 TableView 将传递给方法本身:

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

如何创建利用相同技术的方法调用签名,以便将调用方传递给方法?是这样的:签名:

- (void)questionDelegate:(HPSPickAWinnerQuestionDelegate *)questionDelegate questionDidChange:(NSInteger)questionElementTag

调用:

[self.pickAWinnerDelegate questionDidChange:2];

但这行不通 - 正确的语法是什么?

非常感谢。

最佳答案

您调用的方法将在委托(delegate)上调用,而不是将委托(delegate)作为参数传递。这是一个简单的例子:

@protocol HPSPickAWinnerQuestionDelegate <NSObject>
- (void)asker:(YourQuestionAskingClass *)asker questionDidChange:(NSInteger)questionElementTag;
@end

@interface YourQuestionAskingClass : NSObject
@property (weak) id<HPSPickAWinnerQuestionDelegate> delegate;
@end

@implementation YourQuestionAskingClass
- (void)someMethod {
[self.delegate asker:self questionDidChange:2];
}

关于ios - Objective-c 方法调用将引用传递给调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27924661/

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