Non riesco a trovare dove l'ho letto, ma ricordo di aver trovato qualcosa che suggeriva che fosse meglio accedere all'altezza di CGRect
s utilizzando CGRectGetHeight(rect)
invece di accedere alla variabile tramite rect.size.height
Meglio usare CGRectGetHeight (view.bounds) o view.bounds.size.height direttamente in Objective-C
CGFloat height = CGRectGetHeight(self.frame);
// vs
CGFloat height = self.frame.size.height;
la maggior parte del tempo, questo ha a che fare con una vista a mio uso, e mi chiedevo se esiste una reale differenza (a parte la sintassi) che separa queste due linee di codice.
Se uno è preferenziale rispetto all'altro, una spiegazione del perché sarebbe fantastico!
che è stato, non riuscivo a ricordare il motivo per cui ha detto! Grazie! Accetterò in 10 minuti. (quando mi consente) – Logan
Più genericamente, dal [riferimento CGGeometry] (https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html): "Tutte le funzioni descritte in questo riferimento che prende le strutture di dati 'CGRect' come input codifica implicitamente quei rettangoli prima di calcolare i loro risultati. Per questo motivo, le tue applicazioni dovrebbero evitare di leggere e scrivere direttamente i dati memorizzati nella struttura dati 'CGRect'. Invece, usa le funzioni qui descritte per manipolare i rettangoli e recuperarne le caratteristiche. " –
In Xcode 8.2.1 usando' CGRectGetHeight' si genera un errore di complicazione: "_CGRectGetHeight 'è stato sostituito dalla proprietà' CGRect.height'_". – RobertJoseph