Objective c 呼叫+;(无效)方法来自-(iAction)

Objective c 呼叫+;(无效)方法来自-(iAction),objective-c,cocoa,Objective C,Cocoa,首先,如果标题有误导性,请道歉。这是我第一次用Xcode创作,所以我可能对所有的东西都不太了解 因此,我有一个类,其中包含一些iAction,类似于: // AppController.h #import <Foundation/Foundation.h> @interface AppController : NSObject { } + (void)addItem; - (IBAction)addButton:(id)sender; @end 当我运行应用程序并单击触

首先,如果标题有误导性,请道歉。这是我第一次用Xcode创作,所以我可能对所有的东西都不太了解

因此,我有一个类,其中包含一些
iAction
,类似于:

// AppController.h

#import <Foundation/Foundation.h>

@interface AppController : NSObject {

}

+ (void)addItem;

- (IBAction)addButton:(id)sender;

@end
当我运行应用程序并单击触发
iAction
的按钮时,应用程序挂起,Xcode窗口变为选中状态,在
NSLog(…)
行上有一个绿色的“断点”

我不知道这种反应叫什么,也不知道我该怎么做。感谢您的帮助

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

NSLog(@"Action");
这是正确的方法


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

我很惊讶它竟然被编译了。对不起,这只是这个问题中的一个输入错误。我只是在那里添加了
NSLog
,而不是实际的代码。不管里面有什么代码,它总是在方法的第一行上产生相同的“断点”。@trojanfoe指针,指针,它发出警告,但通常不是错误…好吧,你的评论让我尝试了我应该已经尝试过的。我搜索了断点,然后简单地删除了一个断点。我不知道为什么我有一个,也不知道它有什么作用,但问题现在解决了。谢谢。@MarttiLaine:当程序到达断点时,断点会导致调试器中断,这意味着中断执行。这就是你如何告诉调试器“好的,当你到了这里,停在那里,让我试试”。
NSLog(@"Action");