【发布时间】:2016-09-22 16:20:42
【问题描述】:
我有下面这个接收 stickerURLString 作为输入的委托方法:
- (void)selectedSticker:(NSString *)stickerURLString {
//...
[self.stickerPreviewButton addTarget:self action:@selector(sendStickerPreviewButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
//...
}
并且选择器调用这个方法sendStickerPreviewButtonPressed:
- (void)sendStickerPreviewButtonPressed: (NSString *)stickerURLString {
[self.delegate InputFunctionView:self sendSticker:stickerURLString];
}
如您所见,为了使这项工作按预期进行,我必须将 stickerURLString 从 selectedSticker 方法传递给 sendStickerPreviewButtonPressed。 p>
我试过这个:
[self.stickerPreviewButton performSelector:@selector(sendStickerPreviewButtonPressed:) withObject:stickerURLString];
而不是这个:
[self.stickerPreviewButton addTarget:self action:@selector(sendStickerPreviewButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
但我收到“以 NSException 类型的未捕获异常终止”错误。
那么有人知道如何通过按钮选择器将字符串参数传递给另一个方法吗?
【问题讨论】:
-
声明一个全局变量并在你的方法中赋值。
-
@AnuradhS 是的,这似乎是我使用全局变量的方式,尽管我试图避免这种情况,因为我的代码非常复杂。谢谢!
标签: ios objective-c uibutton performselector