iphone - 如何在按钮 addTarget 方法上将 NSString 值从一种方法传递到另一种方法?

标签 iphone ios objective-c

如何使用 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:

请给出任何建议以及解决方案...

最佳答案

您可能想在 okwindow: 方法中访问 videoPath 字符串?这不是通过按钮传递状态来完成的。按钮用于收集触摸事件。

相反,通过添加属性来更改 View Controller 的状态...

@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);
}

关于iphone - 如何在按钮 addTarget 方法上将 NSString 值从一种方法传递到另一种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706998/

相关文章:

iphone - 在应用内征求评论

ios - 在 tableView : willDisplayHeaderView: forSection: 的 UITableViewHeaderFooterView 中垂直居中 textLabel

ios - Assets 目录和根捆绑目录中重复的应用程序图标

ios - 当用户点击通知 IOS7 时导航到特定 View Controller

objective-c - 通过另一个托管对象数组过滤一个托管对象数组

iphone - iOS开发的软硬件要求

ios - 图像中带有复选框的 UICollectionView Cell

ios - 工具栏完成按钮操作在 UIDatePicker 上不起作用

iphone - 如何同时按名字和姓氏搜索

ios - 响应问题;在方向改变之前文本呈现不正确的大小?