2013-01-19 69 views
-1

首先,如果标题有误导性,则表示抱歉。这实际上是我第一次使用Xcode创建的,所以我可能会对所有的东西都被称为等等。来自 - (IBAction)的呼叫+(无效)方法

所以,我有一个类有一些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(...)上有绿色的“断点”。

我不知道这个反应被称为什么,也不知道我应该怎么做。任何帮助表示赞赏!

回答

4
NSLog("Action"); 

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

NSLog(@"Action"); 

是正确的方法。

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

+1

我很惊讶它甚至编译。 – trojanfoe

+0

Woops,我很抱歉,但这只是这个问题上的一个错字。我只是在那里添加了'NSLog'而不是实际的代码。不管那里有什么代码,它总是会在方法的第一行产生相同的“断点”。 –

+0

@trojanfoe指针,指针,它发出警告,但它通常不是一个错误... – 2013-01-19 17:05:31