uts*_*iem 0 objective-c selector ios
我有这个代码:
UIBarButtonItem *donebutton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneButtonPressed:)];
self.navigationItem.rightBarButtonItem = donebutton;
Run Code Online (Sandbox Code Playgroud)
现在我想传递一些参数给方法:
- (void)doneButtonPressed{}
Run Code Online (Sandbox Code Playgroud)
怎么做 ?
如果你想传递对象说字符串,那么使用setAssociatedObject:
首先补充一下
#import <objc/runtime.h>
Run Code Online (Sandbox Code Playgroud)
现在
NSString *strText = @"text";
objc_setAssociatedObject(donebutton, "Argument", strText, OBJC_ASSOCIATION_RETAIN_NONATOMIC); // provide button , key , object for passing
Run Code Online (Sandbox Code Playgroud)
并在你需要你的论点的地方检索:
NSString *str = objc_getAssociatedObject(donebutton, "Argument"); //using button and key
//remove object associated for button if not needed.
Run Code Online (Sandbox Code Playgroud)
但是如果你想要按钮参考那么
- (void)doneButtonPressed:(id)sender{
UIButton *btnClicked = (UIButton *)sender;
.......
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1543 次 |
| 最近记录: |