gpt4 book ai didi

iphone - 如何在 UIButton 中实现 addTarget 属性

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

我有一个函数(例如 function1),其中有一个按钮和一个名为 auxiliarStruct 的对象,我有那一行:

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

但是在@selector(userSelected) 中,我需要将该函数所需的对象作为参数传递,但我不知道如何实现它。我在这里声明了那个对象:

//UsersController.h
#import <UIKit/UIKit.h>

@interface UsersController : NSObject{
NSInteger *prof_id;
NSString *createTime;
NSString *fullName;
NSString *thumb;
}

@property (nonatomic) NSInteger *prof_id;
@property (nonatomic, retain) IBOutlet NSString *createTime;
@property (nonatomic, retain) IBOutlet NSString *fullName;
@property (nonatomic, retain) IBOutlet NSString *thumb;

@end

我有这样声明的调用函数:

-(void)userSelected:(id)sender{
//CODE
}

我有一个这个类的对象,叫做 auxiliarStruct,这是我需要的。我试过

[btn addTarget:self action:@selector(**userSelected:auxiliarStruct**)forControlEvents:UIControlEventTouchUpInside];

但是没用谁能帮我?谢谢。

ps:对不起我的英语,我知道这很糟糕

最佳答案

您只能将 (UIButton*) 对象作为参数传递给 addTarget @selector 方法。您可以设置 UIButton 标签并在调用的函数上使用它。您可能想找出发送字符串值的任何替代方法。

使用下面的代码传递带有按钮的标签:

     btn_.tag = 10; 
[btn_ addTarget:self action:@selector(functionName:) forControlEvents:UIControlEventTouchUpInside];

按钮 Action 应该是这样的:

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

NSLog(@"Tag : %d", sender.tag);

}

关于iphone - 如何在 UIButton 中实现 addTarget 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10910306/

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