@interface
BOOL isCarryingmallet;
@implementation
-(BOOL)isCarryingWeapon {
return isCarryingMallet;
}
-(int)getWeaponDamage {
if (isCarryingMallet)
return kVikingMalletDamage;
else
return kVikingFistDamage;
}
我知道-(BOOL)isCarryingWeapon
会返回isCarryingWeapon
,但我不知道为什么这会有用。有人可以给我一个例子吗?
此外,continue;
在if语句中做了什么?
谢谢!
答案 0 :(得分:1)
好-(BOOL)isCarryingWeapon
实际上返回了一个bool。方法返回的类型是括号中指定的内容。例如(void)
不是(NSString)
字符串。
-(BOOL)isCarryingWeapon {
return isCarryingMallet;
}
实际上返回isCarryingMallet的值。因此,根据[myObject isCarryingWeapon]
的值,调用isCarryingMallet
会给您一个YES或NO。
继续在循环中使用,例如
for (item in items)
{
if(item == NULL)
continue;
else
break;
}
continue表示从循环开始处继续循环下一个项目。中断意味着停止循环。所以你可以在搜索循环中使用它们。如果该项目不是你想要的,你可以继续循环,如果你找到你想要的项目,你可以提前结束循环周期。
答案 1 :(得分:0)
从另一个类访问isCarryingMallet
属性很有用。你也可以使用这样的访问器方法使属性独立于实际的BOOL
变量,例如,如果你以后决定要将携带的武器存储在列表中,你仍然可以使用相同的方法确定该列表是否为空,并且不必更改任何依赖于该方法的外部代码。
continue
在if
语句中不执行任何操作,但如果if语句不是循环的一部分,则会导致编译器错误。它继续在顶部的循环顶部执行,否则。
答案 2 :(得分:0)
在if
声明中,continue
没有做任何事情。但如果if
位于循环内(for
,while
或do
),那么continue
会跳转到循环体的开头,就像它总是这样。
但我不知道为什么这很有用
这是数据隐藏的一个例子,恕我直言。该类的接口有一个isCarryingWeapon
方法,欢迎类消费者调用。如果类实现在某一天延长以允许使用剑,则可以将[isCarryingWeapon]方法的内容更改为:
return isCarryingMallet || isCarryingSword;
并且来电者不会知道差异。