我在我的应用中进行了一些比较,最近发现了这样的比较类型:
[[self.someString isEqual: @"one"] ? @"two" : @"one"];
这考虑了什么类型的比较?我试图添加另一个比较,但显然它不超过两三个。
答案 0 :(得分:0)
您似乎正在尝试比较字符串。您可以通过输入isEqualToString:
您正在做的是查看您的对象是否与您只是initialized
的字符串对象相同的对象。 (这永远不会是真的,因为它不是同一个对象。首先,它有一个新的内存位置。)
您可以覆盖子类中的isEqual:
,以确定它何时是" true
"通过将它与您想要的任何变量或一系列变量进行比较。
最后,"(if this is true) ? (Do this) : (otherwise do this)"
被称为三元运算符,我经常使用它,因为它是一个很好的速记。它的功能正如上一句所述。
因此,为了使您的代码按照我的意图工作,您会写:
要在日志中打印出来......
[self.someString isEqualToString: @"one"] ? NSLog(@"two") : NSLog(@"one");
指定一些东西......
[self.someString isEqualToString: @"one"] ? self.anotherString = @"two" : self.anotherString = @"one";