我想知道是否有一种方法可以将方法的返回值(由if 语句检查)用作变量 ,如果它不是 nil。
我希望下面的代码示例有助于解释我所追求的。
假设我有一个返回UIImageView
,的方法-(UIImageView *)imageViewExistsForID:(NSString *)viewID
。在其他地方的方法中,我想检查该 imageView 是否返回一个值,并且因为它是有条件的,所以使用 if 语句,如下所示:
if ([self imageViewExistsForID:<VIEWID>]) {
// Use the returned imageView here
}
else {
// 'nil' was returned, so no need to use the result
}
通常,我会在 if 语句之前声明一个占位符变量,例如:
UIImageView *returnedImageView = [self imageViewExistsForID:<VIEWID>];
if (returnedImageView) {
...etc
我只是想知道是否有一种方法可以从方法中传递结果,当第一次由 if 语句检查时,不必先将结果存储在变量中,这更类似于:
if ([self imageViewExistsForID:<VIEWID>]) {
UIImageView *imageView = if-statement-result
// ??? (i.e. don't call the method again [self imageViewExistsForID:<VIEWID>])
}
免责声明:我纯粹是从一个智力好奇的角度提出这个问题,因为这显然不是一个阻止我在代码中实现任何东西的“问题”。我总是热衷于了解更多关于 Objective-C 的知识,因为我认为自己对它的阅读还不够。感谢任何可以让我知道这一点的人 - 如果我无法理解,请道歉!