从-(IBAction)调用+(void)方法



首先,抱歉,如果标题是误导。这是我第一次用Xcode创作,所以我可能对所有东西的名称有点不熟悉。

所以,我有一个类有几个IBAction,像这样:

// AppController.h
#import <Foundation/Foundation.h>
@interface AppController : NSObject {
}
+ (void)addItem;
- (IBAction)addButton:(id)sender;
@end

:

// AppController.m
#import "AppController.h"
@implementation AppController
+ (void)addItem {
    NSLog("Action");
}
- (IBAction)addButton:(id)sender {
    [[self class] addItem];
}

当我运行应用程序并单击触发IBAction的按钮时,应用程序挂起,xcode窗口被选中,NSLog(...)行上有一个绿色的"断点"。

我不知道这个反应叫什么,也不知道我应该怎么做。任何帮助都是感激的!

NSLog("Action");

NSLog()的第一个参数必须是NSString,而不是C字符串(char *)。您错过了@字符:

NSLog(@"Action");

是正确的方法。

编辑:如果它只是一个打字错误,并且在修复它之后,问题仍然存在:那么你很可能在特定的行上设置了一个断点。删除或禁用断点以使程序能够继续。

最新更新