如何使用UIButton addTarget将NSString对象作为参数传递给另一个方法:
这是我的代码:
- (void)vision:(PBJVision *)vision capturedVideo:(NSDictionary *)videoDict error:(NSError *)error
{
_recording = NO;
if (error) {
NSLog(@"encounted an error in video capture (%@)", error);
return;
}
_currentVideo = videoDict;
NSString *videoPath = [_currentVideo objectForKey:PBJVisionVideoPathKey];
NSLog(@"string = %@",videoPath);
UIButton *ok = [UIButton buttonWithType:UIButtonTypeRoundedRect];
ok.frame = CGRectMake(95, 3, 50, 30);
[ok setTitle:@"OK" forState:UIControlStateNormal];
[ok addTarget:self action:@selector(okwindow:) forControlEvents:UIControlEventTouchUpInside];
[customview addSubview:ok];
}
如何将字符串值作为addTarget的参数传递:
请提供任何建议和解决方案......
答案 0 :(得分:1)
大概你想在okwindow:方法中访问videoPath字符串?这不是通过按钮传递状态来完成的。按钮用于收集触摸事件。
而是通过添加属性来更改视图控制器的状态...
@property (nonatomic, strong) NSString *videoPath;
当你收到字符串时设置它......
NSString *videoPath = [_currentVideo objectForKey:PBJVisionVideoPathKey];
NSLog(@"string = %@",videoPath);
self.videoPath = videoPath;
并在用户按下按钮时访问它......
- (void)okwindow:(id)sender {
NSLog(@"I still have the string = %@",self.videoPath);
}