2011-03-29 15 views
23

¿object-c tiene una forma aún más corta de escribir esta línea de código?¿object-c tiene una forma aún más corta de escribir esta línea de código?

a = b ? b : c; 

Esa es una manera de decir que a es igual a b siempre que no sea nulo, sino c. Es decir, ¿hay algo así como el operador de ruby ​​"|| ="

+2

Objective-C no tiene un operador de coalescencia nula por lo que yo sé. – BoltClock

+1

Tengo curiosidad tanto como cualquier cosa, aunque para la legibilidad aún valdría la pena para una línea como: self.nameTextField.text = (self.weConfig.title)? self.weConfig.title: @ ""; – Greg

Respuesta

2

¡Eso es lo más corto que se puede obtener en Objective-C! Esa es una pequeña y agradable prueba que tienes allí.

La única otra forma corta que podía llegar a es el siguiente (que no recomendaría que por razones de legibilidad y no es tan corta como la suya!):

if (b) a = b; else a = c; 
Cuestiones relacionadas