我正在尝试做一个iPad应用程序。
在其中一个函数中,我应该根据字符串输入返回一个值。
以下是代码:
float myFunction(float t, NSString * Color){
if ([Color isEqual:@"blue"])
return t*100;
else if ([Color isEqual:@"red"])
return t*2;
else
return t;
}
但在某个地方,我的程序做错了什么。因为我没有得到我期待的号码。这段代码可能是缺失的链接吗?
我没有错误或警告。
答案 0 :(得分:1)
而不是isEqual
您应该使用isEqualToString
并将Color
更改为color
尝试这是否有所不同(如果不是问题出现在代码中):
float myFunction(float t, NSString * color){
if ([color isEqualToString:@"blue"])
return t*100.0;
else if ([color isEqualToString:@"red"])
return t*2.0;
else
return t;
}
如果您希望您的函数看起来更像obj-c方法,请使用:
-(CGFloat) myFunctionForT:(CGFloat)t andColor:(NSString *)color {
if ([color isEqualToString:@"blue"])
return t*100.0;
else if ([color isEqualToString:@"red"])
return t*2.0;
else
return t;
}
使用color
代替Color
和100.0
而不是100
的主要原因是编码方面的更多规则可以节省您数小时的调试时间。