这条线怎么了?

时间:2011-08-01 11:25:14

标签: iphone xcode xcode4 hidden

当我按下“自己的”按钮时,我的应用程序崩溃了。我不知道我的代码有什么问题。我是新手,所以如果我完全搞砸了,请不要努力请:)。编辑:这是Xcode所说的:

    #1  0x000144fd in -[UIApplication sendAction:to:from:forEvent:] ()

该应用程序在该行崩溃:

   if (thing.hidden == NO) {

这是属于“拥有”的代码:

    - (IBAction)own {

if (thing.hidden == NO) {

int rNumber = rand() % 4;

switch (rNumber) {
    case 0:
        result.text  = @"A";
        break;
    case 1:
        result.text = @"B";
        break;
    case 2:
        result.text = @"C";
        break;
    case 3:
        result.text = @"D";
        break;
    default:
        break;
}

}
if (thing.hidden == YES) {
    int rNumber = rand() % 3;

4 个答案:

答案 0 :(得分:2)

可能有几个rason

IBAction实际上只是一个提示,告诉界面构建器在哪里找到对象中的方法,以便将控件链接到方法。

在iOS中,操作可以采用零个,一个或两个参数。

如果有一个参数,该参数是发送消息的对象:

-(IBAction) someAction: (id) sender;

如果有两个参数,则采用以下形式:

- (IBAction) someAction:(id) sender forEvent: (UIEvent*) event;

你可以使用 - (void)拥有并连接到nib文件中的按钮

答案 1 :(得分:0)

您的代码似乎没有错,假设对象 thing result 正确保留

答案 2 :(得分:0)

- (IBAction)own {

if (thing.hidden == NO) {

int rNumber = rand() % 4;
NSString *myText = @""; // 
switch (rNumber) {
    case 0:
        myText  = @"A";
        break;
    case 1:
        myText = @"B";
        break;
    case 2:
       myText = @"C";
       break;
    case 3:
       myText = @"D";
       break;
   default:
       break;
}
result.text = myText;
}
if (thing.hidden == YES) {
    int rNumber = rand() % 3;

答案 3 :(得分:0)

我刚刚遇到了这个问题。这是因为内存管理,我将按钮相关的动作发送到已发布的viewController。希望这有帮助。(顺便说一句,我使用弧形模式)