Objective-c代码等于guard

SRI*_*SRI 2 objective-c swift2

我一直在objective-c中实现家庭套件应用程序.我已经转换了所有swift代码,但是在一行调用了

guard let metadata = metadata else { return false }
Run Code Online (Sandbox Code Playgroud)

可以请任何人指导我编写相当于上面代码行的objective-c代码.非常感谢您阅读我的帖子.

Cha*_* A. 5

从编译器的角度来看,没有确切的等价物,因为保证语句else块保证返回控制(即,保护语句必须为true才能使代码继续通过保护).你可以在这里阅读更多相关信息.

你最接近的是:

if(metadata == nil) { return NO; }
Run Code Online (Sandbox Code Playgroud)


Ngu*_*oan 1

它是:

 if (metadata == nil){
       return false;
  }
Run Code Online (Sandbox Code Playgroud)

  • 您忘记了“return”行后面的分号。如果它是“BOOL”类型,您应该返回“NO”,而不是“false”。 (4认同)