o CGPoint , ad esempio. La syntaxe NSLog(@"%@", ... ); fonctionne et est utilisé pour obtenir des informations sur les objets, mais ne fonctionne pas sur les types de données tels que C struct CGRect ou CGPoint , par exemple. o NSStringFromCGPoint : Pour profiter de NSLog(@"%@", ... ); même sur de style C structs ne peuvent s'appuyer sur des fonctions de conversion, comme NSStringFromCGRect() ou NSStringFromCGPoint :
1 2 3 4 5
| CGRect ) { 10 , 20 , 30 , 40 } ; CGRect mioRect = (CGRect) {10, 20, 30, 40}; CGPoint ) { 32 , 64 } ; CGPoint mioPoint = (CGPoint) {32, 64}; / / "Info rettangolo: %@" , NSStringFromCGRect ( mioRect ) ) ; NSLog (@ "rectangle Info:% @", NSStringFromCGRect (mioRect)); "Info point: %@" , NSStringFromCGPoint ( mioPoint ) ) ; NSLog (@ "point info:% @", NSStringFromCGPoint (mioPoint)); |
Plus précisément, il est possible d'améliorer cette procédure écrit des petites macros utiles comme:
1
| # Définir NSLogRect (rect) NSLog (@ "0.0fx% s (% 0.0f, 0.0f%)% 0.0f%", # rect, rect.origin.x, rect.origin.y, rect.size.width , rect.size.height) |
Ou encore:
1 2 3 4
| # Définir NSLogCGPoint (point) NSLog (@ "% s (% 0.0f, 0.0f%)", # point.x point, Point.y)
CGPoint ) { 32 , 64 } ; CGPoint mioPoint = (CGPoint) {32, 64}; ; NSLogCGPoint (mioPoint); |
Cela va donner comme résultat:
1
| 32 , 64 ) mioPoint: (32, 64) |
Suite ...
CGRectMake() est une fonction (en fait une ligne # define) utilisé beaucoup surtout quand vous créez des objets graphiques à partir du code ou de l'interface utilisateur. o UIImageView . CGRectMake() restituisce una struct (struttura di tipo) CGRect : Son utilisation est donc souvent associé composants d'initialisation de UIKit , mais aussi de simples UIView ou UIImageView . CGRectMake() retourne une struct (type de structure) CGRect :
1 2 3 4 5
| struct {CGRect CGPoint origine; CGSize taille; }; typedef struct CGRect CGRect; |
: Qui à son tour est composée de deux différents struct CGPoint et CGSize :
1 2 3 4 5 6 7 8 9 10 11 12 13
| struct {CGPoint X CGFloat; CGFloat y; }; typedef struct CGPoint CGPoint;
Tailles / *. * /
struct {CGSize Largeur CGFloat; Hauteur CGFloat; }; typedef struct CGSize CGSize; |
. Cela, en retour, de nouveau, contiennent des types CGFloat ou le type float . Si nous analysons le code de CGRectMake () sont:
1 2 3 4 5 6 7 8
| CG_INLINE CGRect CGRectMake (CGFloat x, y CGFloat, largeur CGFloat, CGFloat hauteur) { CGRect rect; y; rect.origin.x = x, y = rect.origin.y; height; rect.size.width = largeur, hauteur = rect.size.height; retour rect; } |
Il s'ensuit donc que ce morceau de code:
1 2 3 4
| [ UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton gbutton * = [UIButton buttonWithType: UIButtonTypeRoundedRect]; 12 , 409 , 100 , 40 ) ; gbutton.frame = CGRectMake (12, 409, 100, 40); @ "Press" forState : UIControlStateNormal ] ; [Gbutton setTitle: @ "Presse" Forst: UIControlStateNormal]; gbutton ] ; [MainWindow addSubview: gbutton]; |
Il pourrait à juste titre être écrite comme:
1 2 3 4
| [ UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton gbutton * = [UIButton buttonWithType: UIButtonTypeRoundedRect]; CGRect ) { 12 , 409 , 100 , 40 } ; gbutton.frame = (CGRect) {12, 409, 100, 40}; @ "Press" forState : UIControlStateNormal ] ; [Gbutton setTitle: @ "Presse" Forst: UIControlStateNormal]; gbutton ] ; [MainWindow addSubview: gbutton]; |
Juste pour accélérer les choses »le code est exécuté ... 
Suite ...
Derniers Commentaires
Mark : @ Marc: Merci pour la réponse. Par exemple, si vous avez un code de sauvegarder / utiliser le dossier ...
Mark : Merci pour la réponse. Par exemple, si vous avez un code de sauvegarder / utiliser le dossier ...
Giovambattista Fazioli : @ Marc: en principe, absolument, beaucoup dépend de comment et quoi télécharger. La. ..
Mark : Bonjour, bon guide! Je voulais vous demander, vous pouvez utiliser le même code à exécuter une base de données SQL? Au lieu de ...
Joseph : Salut je voulais vous demander comment vous pouvez faire dans le post que j'ai téléchargé une galerie de 50 images, par exemple, ...