Quand devrais-je utiliser des primitives dans Objective-C au lieu des sous-classes NSValue
? Ce code est certainement plus propre (je pense) que d'utiliser NSNumber:Quand utiliser des primitives en Objective-C?
float width = sliderOne.frame.size.width;
float totalWidth = width * 2 + 10;
mais y a-t-il des inconvénients? Aussi, est-il correct que je n'ai pas besoin d'appeler release
ou quoi que ce soit avec des primitives? Est-ce que la mémoire se libère quand ils sortent de la portée, alors?
Pourquoi est-ce que je me soucie de ce que je ne peux pas les passer en tant qu'objets? Désolé si c'est une question stupide venant d'un univers autoboxing. –
Si vous souhaitez appeler une API qui prend en paramètre un objet NSNumber ou les stocke dans un NSArray ou un NSDictionary, il doit s'agir d'un objet. – progrmr
Je dirais que les types basic * scalar * sont préférés. Il faut des circonstances assez spéciales pour qu'un tableau C ou une chaîne C soit préférable à un NSArray ou NSString. – Chuck