【问题标题】:Stop another method from running because of another's return?由于另一个方法的返回而阻止另一个方法运行?
【发布时间】:2011-04-22 18:46:05
【问题描述】:

我不敢相信我以前没有遇到过的非常基本的 Objective C 问题。如果我有一个返回的方法;在有条件的情况下,该方法的其余部分将不会运行。但是说如果我有一个方法与另一个方法调用返回..我如何让父方法停止运行,因为孩子有一个返回?

【问题讨论】:

    标签: objective-c methods return


    【解决方案1】:

    评估子方法的返回值,并在被调用方法中决定是否应该返回。

    【讨论】:

    • 我真的很挣扎。你能编辑你的答案并给我一个例子吗?谢谢。
    • 我想通了...孩子可能是 - (int) child method { 并且可以返回 1 或 0 然后在父调用中并使用 if([self heroCheckTileCollision]==1 进行测试){ 返回}
    • 很好,如果您将 int 返回类型转换为 BOOL,您可以提高您的可读性,因为您只能评估两种状态。
    【解决方案2】:

    您应该在调用方法中测试返回值,并在适当的情况下从该调用方法返回。

    if (![self subMethodOK]) {
        return NO;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 2017-10-01
      • 1970-01-01
      相关资源
      最近更新 更多