CGpoint Vs CGPointMake
J'ai été récemment introduit à swift.
Une question, quand utiliser CGPoint et quand dois-je utiliser CGPointMake ?
J'ai échangé ces deux états et qu'ils sont tous deux rentrés le même résultat
self.anchorPoint = CGPointMake(0.5, 0.5)
self.anchorPoint = CGPoint(0.5, 0.5)
Grâce
OriginalL'auteur user2725255 | 2014-08-21
Vous devez vous connecter pour publier un commentaire.
Chaque structure dans Swift obtient automatiquement créé états-sage de l'initialiseur. Ainsi, parce que
struct CGPoint
existe avec les membresx
ety
, vous pouvez le faire:(Notez que vous ne pouvez pas réellement faire
CGPoint(0.5, 0.5)
-- qui obtient une erreur de compilation car les initialiseurs d'exiger des étiquettes pour tous les paramètres, sauf mention contraire.)Dans Swift 1.x-2.x,
CGPointMake
était une fonction importée à partir de la version C de cette API. Dans Swift 3, l'initialiseur de forme, c'est la seule façon de créer unCGPoint
-- c'est un des changements à faire CoreGraphics beaucoup plus Swifty.self.anchorpoint = (CGPoint){ 0.5, 0.5 };
, mais qui est relativement nouveau.C99 a aussi le
{.x = 0.5, .y = 0.5}
de la syntaxe.Oui, mais c'est (si je me souviens bien) un "désigné initialiseur". Vous pouvez l'utiliser pour définir et initialisation d'un struct
CGPoint p = {.x = 0.5, .y = 0.5}
, mais non comme l'expression d'une affectation.self.anchorpoint = {.x = 0.5, .y = 0.5}
ne compile pas.Elle ne si vous lancez!
L'OP liée ici à partir d'un tutoriel en disant qu'il n'a pas vraiment compris votre réponse. Envisagez-vous de retouche afin de supprimer la terminologie qui s'appuie sur l'hypothèse que le lecteur ne sait rien au sujet de C / swift. Par exemple, ce qui ne vous entend-on par "struct" et "états-sage initialiseurs"? Ce sont des termes que je ne suis pas familier avec, et d'attendre que l'OP n'est pas familier avec les deux.
OriginalL'auteur rickster
Lorsque vous cmd-clic sur le type de Xcode ouvre le fichier avec la définition.
CGPoint
est une structure (struct):et
CGPointMake
est juste une fonction qui crée unCGPoint
et la retourne:OriginalL'auteur zisoft