从其他函数调用函数时如何返回? iPhone编程

时间:2012-02-23 17:47:42

标签: iphone objective-c ios cocoa-touch ios-simulator

我正在开发我的第一个iPhone游戏,并且想知道当第一个函数调用第二个函数时如何从函数返回值?函数返回bool s。

以下是一些示例代码:

// This is sample calls to inrect functions:
[menuButton inrect:point] // Calls the first function which calls second function
[menuButton inrect:point:0.5] // No problem because calls the second function directly

以下是功能:

- (BOOL) inrect:(CGPoint)_point{
    [self inrect:_point:0]; //call second function with offset of 0
    return 0; //How do I return the value of the above call?
}

- (BOOL) inrect:(CGPoint)_point:(float)offset{
    if (_point > 0 && offset > 1) {
        return YES;
    }
    if (_point < 0 && offset < 1) {
        return YES;
    }   
    return NO;
}

当我直接调用第二个函数时没有问题,但是当调用第一个函数时,它又调用第二个函数,如何正确地将第二个函数的值返回给第一个函数,以便它可以返回它来自哪里。

由于

2 个答案:

答案 0 :(得分:4)

我不确定我是否收到你了。回来吧:

return [self inrect:_point:0];

答案 1 :(得分:2)

我不确定你理解你的问题,但也许你想这样做:

- (BOOL) inrect:(CGPoint)_point
    {
        BOOL aBool = [self inrect:_point:0]; //put the return in a BOOL and do what you want with it
        NSLog(@"Not expecting to this, but I do!");
        return 0;
    }

修改

- (BOOL) inrect:(CGPoint)_point
    {
        return [self inrect:_point:0];
    }