xcode - iOS-在具有参数的按钮上调用选择器

标签 xcode ipad ios4 uibutton selector

您好,希望这是一个容易解决的问题。

我想做的是在按钮操作上有一个选择器,该选择器用要播放的电影的fileName调用我的其他方法。如果我将文件名移回该方法,它将可以正常工作。

我认为我绊脚石是将选择器添加到Button的正确方法。任何意见/建议或建议,将不胜感激。

提前致谢。

    //The Button
    infobuttonTwo           = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    infobuttonTwo.frame     = CGRectMake(405, 204, 49, 58);
    [infobuttonTwo addTarget:self 
                      action:@selector(buttonInfo:) withObject:@"VTS_02_1" 
            forControlEvents:UIControlEventTouchUpInside];



//The Method It's calling
-(void)buttonInfo:(NSString *) fileName {



//The Error it's showing.
-[UIRoundedRectButton addTarget:action:withObject:forControlEvents:]: unrecognized selector sent to instance 0x660e9e0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIRoundedRectButton addTarget:action:withObject:forControlEvents:]: unrecognized selector sent to instance 0x660e9e0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x011bfbe9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x013145c2 objc_exception_throw + 47
    2   CoreFoundation                      0x011c16fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x01131366 ___forwarding___ + 966
    4   CoreFoundation                      0x01130f22 _CF_forwarding_prep_0 + 50
    5   bCIT                                0x000054f3 -[TrailersViewController popButtons] + 647
    6   bCIT                                0x0000444b -[TrailersViewController right] + 437
    7   bCIT                                0x00003b2d -[TrailersViewController handleSwipeFrom:] + 191
    8   UIKit                               0x005559c7 -[UIGestureRecognizer _updateGestureWithEvent:] + 727
    9   UIKit                               0x005519d6 -[UIGestureRecognizer _delayedUpdateGesture] + 47
    10  UIKit                               0x00557fa5 _UIGestureRecognizerUpdateObserver + 584
    11  UIKit                               0x0055818a _UIGestureRecognizerUpdateGesturesFromSendEvent + 51
    12  UIKit                               0x002f36b4 -[UIWindow _sendGesturesForEvent:] + 1292
    13  UIKit                               0x002eef87 -[UIWindow sendEvent:] + 105
    14  UIKit                               0x002d237a -[UIApplication sendEvent:] + 447
    15  UIKit                               0x002d7732 _UIApplicationHandleEvent + 7576
    16  GraphicsServices                    0x01af5a36 PurpleEventCallback + 1550
    17  CoreFoundation                      0x011a1064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    18  CoreFoundation                      0x011016f7 __CFRunLoopDoSource1 + 215
    19  CoreFoundation                      0x010fe983 __CFRunLoopRun + 979
    20  CoreFoundation                      0x010fe240 CFRunLoopRunSpecific + 208
    21  CoreFoundation                      0x010fe161 CFRunLoopRunInMode + 97
    22  GraphicsServices                    0x01af4268 GSEventRunModal + 217
    23  GraphicsServices                    0x01af432d GSEventRun + 115
    24  UIKit                               0x002db42e UIApplicationMain + 1160
    25  bCIT                                0x000029b4 main + 102
    26  bCIT                                0x00002945 start + 53
)
terminate called after throwing an instance of 'NSException

最佳答案

好吧,您的问题是addTarget:action:withObject:forControlEvents:不是UIControl上存在的方法。您需要找到其他方式来跟踪对象值,无论是在ivar,某些中间数据源还是其他方式中。

前段时间有一个similar question,其中包含一些建议。

关于xcode - iOS-在具有参数的按钮上调用选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406378/

相关文章:

iphone - iPhone/iPad内存问题(不泄漏)

iphone - 如何使用otool检测iphone和ipad中的非公共(public)api

iphone - iOS - UIRemoteNotificationTypeBadge 和推送

ios - NavigationLink SwiftUI 导致加载图像时出现问题

ios - ABCreateStringWithAddressDictionary 弃用

jquery - touchstart PreventDefault in body = 无法聚焦输入

iphone - XCode 3.2.6 无法在设备上构建应用程序

ios4 - 如何获取 iPad 自定义键盘的图像

iOS tableview 在 UiBuilder 中显示为空

ios - 为什么 Xcode 认为我的变量在应该返回 NSString 时返回了 NSURL?