【发布时间】:2014-04-23 04:52:22
【问题描述】:
我无法向具有多个参数的 Objective C 方法发送消息。该方法有两个参数,一个 NSString 对象和一个布尔变量。当我编辑我的方法代码时,我可以成功地进行调用,因此它只有其中一个参数,但不能同时具有这两个参数。我没有得到任何编译错误。当我运行程序时,程序停止并且我在方法调用处得到一个断点,但是 XCode 调试器没有提供任何关于它为什么停止在那里的额外信息。然后我可以选择继续运行该程序,它按预期执行。我目前正在从同一类的另一个方法中调用该方法。我曾尝试直接从 main 调用该方法,但有同样的问题。我在 saySomething 方法中尝试了许多更改,包括只注释掉方法的全部内容,但我的程序仍然在方法调用处停止。我的接口和实现文件如下。感谢您提供的任何帮助!
编辑:我还按要求添加了 main 中的代码。
@interface XYZPerson : NSObject
- (void) sayHello;
- (void) saySomething:(NSString *)whatToSay loudly:(Boolean)toYell;
@end
@implementation XYZPerson
- (void)sayHello
{
NSString *greeting = @"Hello, World!";
[self saySomething:greeting loudly:YES];
}
- (void)saySomething:(NSString *)whatToSay loudly:(Boolean)toYell
{
NSString *whatToSayEdited = whatToSay;
if (toYell == YES) {
whatToSayEdited = [whatToSay uppercaseString];
}
NSLog(@"%@", whatToSayEdited);
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
XYZPerson *somePerson = [[XYZPerson alloc] init];
[somePerson sayHello];
}
return 0;
}
【问题讨论】:
-
你能显示你如何调用它的代码吗?
-
你得到了一个断点?那不是错误。一切都很好。
-
好的。当程序停止执行并在方法调用处列出断点时,我发现出了点问题。这不是问题吗?
-
不,它只是一个调试工具。
-
听起来你在处设置了断点
标签: objective-c