2015-07-18 1 views
0

Donc, je suis en train de lire l'article de Mike Ash sur la vitesse Swift où je rencontrais que si nous avons une fonction vide, un appel de méthode ne sera pas faite par Swiftvitesse Swift vs vide Dessiner Rect

func test() {} 

Puis un appel à test() fondamentalement ne serait pas appelé par le compilateur.

Maintenant, si je me souviens bien, Apple recommande de ne pas laisser une méthode vide drawRect: car cela pourrait nuire aux performances.

Maintenant, ma question est de savoir si une fonction vide n'est jamais appelée par le compilateur alors pourquoi contre le drawRect vide: J'étais juste curieux. Merci

Répondre

2

Le problème avec drawRect n'est pas l'appel de fonction. Vous ne pouvez pas simplement appeler drawRect, il y a beaucoup de configuration nécessaire pour configurer le contexte correct pour drawRect. Et le code qui fait cette configuration peut vérifier qu'il n'y a pas de méthode drawRect et éviter toute la configuration, mais il ne peut pas détecter que drawRect ne fait rien.