Si vous êtes à se développer dans un environnement où il est impossible d'utiliser des outils de débogage tels que Firebug , tels que le simulateur d'iPhone d'Apple dans Xcode, il peut devenir frustrant de trouver des problèmes, y compris un accès incorrects à toutes les propriétés d'un objet. Ici l'utilisation des œuvres alert() est fondamentale!
Articles taggés avec 'Object'
Très court astuce: journal des objets JavaScript
extraits de jQuery
Vérifier l'existence d'un élément dans le DOM
Il se passerait-il qu'il doit établir l'existence d'un élément du DOM. Avec jQuery pourrait être spontanément essayer:
Comment créer votre propre protocole avec déléguée
Même dans le tutoriel plus simple que vous pouvez trouver l'utilisation de protocoles. Il arrivera certainement à beaucoup de votre contrôleur de vue utilisé dans un protocole, la saisie, à côté de la définition de l'interface, une déclaration similaire à:
1 2 3 | UIViewController <uiwebviewdelegate> { @ Interface MyViewController: UIViewController {<uiwebviewdelegate> ... } |
Objective-C: NSLog () du C struct
o CGPoint , ad esempio. La syntaxe NSLog(@"%@", ... ); qui 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(@"%@", ... ); également de style C structs nous pouvons nous appuyer sur les fonctions de conversion telles que 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'affiner les procédures correspondantes de petites macros utiles comme:
1 | # Définir NSLogRect (rect) NSLog (@ "% s (% 0.0f, 0.0f%) 0.0f%% 0.0fx", # rect, rect.origin.x, rect.origin.y, rect.size.width , rect.size.height) |
Ou:
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 vous donnera en sortie:
1 | 32 , 64 ) mioPoint: (32, 64) |
Sujets des variables JavaScript: deux solutions de rechange
En Javascript, vous pouvez écrire des fonctions avec des arguments variables, c'est-à-fonctions qui ne sont pas nécessairement accepter un nombre fixe d'entrées. Par exemple, vous pouvez écrire des fonctions comme ceci:
Discret SWFObject 2.0
SWFObject est un script JavaScript est utilisé pour insérer du contenu Flash dans les pages Web Sa fonction principale est d'éliminer la demande pour activer le contrôle par Microsoft Internet Explorer (qui, de toute façon, est abandonnée - voir ici ) et, plus intéressant, la possibilité de vérifier automatiquement et installer Flash Player si nécessaire. SWFObject peut être considéré comme une bonne alternative au kit d'installation / de détecter à condition que le même être généré au sein de l'IDE et Adobe Flash (tous les ses versions). Avec la version 2.0 , SWFObject améliore sa performance et son utilisation. Comme indiqué sur la documentation officielle , a déménagé à Google Code, nouvelle dans le présent communiqué sont si nombreux à le rendre PAS compatible avec les versions précédentes. Il en résulte presque une refonte complète du code pour ceux qui décident de mettre à niveau une version précédente de SWFObject 2.0.
Le script est maintenant aligné avec les dernières normes, à la fois syntaxiquement et de cette «non-intrusive." Il supporte toutes les fonctionnalités précédentes telles que l'installation rapide de Flash Player, avec un code plus clair et facile à utiliser. Le passage des paramètres, par exemple, par le joueur à JavaScript Flash (et donc à notre film) est maintenant beaucoup plus claire et plus polyvalent. Également introduit deux modes principaux: statiques et dynamiques, en fonction du type et du processus de conception de pages que nous faisons.
Bon et j'ai beaucoup aimé le fait qu'il est le outil en ligne qui génère du code pour SWFObject nous.
LINK:
Classes d'objets et instances
J'ai remarqué souvent de la confusion quand il s'agit de classes, des objets et des instances. Qui n'est pas particulièrement sensibilisés à la programmation orientée objet confond souvent le vrai sens de ces termes. Je savais, cependant, qu'il existe deux écoles de pensée quant à la définition de la classe et d'objet. J'aime l '"école" qui indique la définition de la classe comme un objet possible, et donc l'objet comme instance de la classe.
Cela paraît simple, mais il m'est arrivé - parler avec d'autres - d'être en "conflit" (façon de parler) et tombent ensuite dans la confusion, lorsque vous utilisez ces termes, si quelque chose, à partir de la prémisse que «l'autre», tout comme nous les entendons .
Je le vois de cette manière, une classe est une définition! Est-classe définie avec précision des objets possibles. La classe est l'ensemble des méthodes et des propriétés (si vous le souhaitez nous pouvons également ajouter des événements - Quoi d'autre ... non seulement que les méthodes spéciales) qui possèdent l'objet.
Par exemple, quand nous écrivons en Actionscript, ou tout autre langage orienté objet:
1 2 3 4 | class MyClass { MiaClass fonction () {} myMethod function () {} } |
Nous avons défini une classe et non un objet. Dans la limite que nous avons "défini" une "possible" objet. On pourrait même argumenter, et à juste titre, que l'objet existe lors de l'exécution tandis que la catégorie n'est pas (dans la vérité il ya des classes dynamiques qui peuvent être définis - et ensuite utilisé pour créer des objets - même lors de l'exécution). Exclure les classes statiques, bien sûr, que - finalement - ne sont plus que des sous-instances (ou les instances cachée) et des objets réels.
Mais quand nous avons:
1 | MiaClasse = new MiaClasse ( ) ; var MyObject: MaClasse = new MaClasse (); |
! Ici mioOggetto est une instance de MiaClasse() ! . Cela mioOggetto est un sujet - en fait - de type MiaClasse() .
. Par conséquent, leur philosophie à des objets, des objets de type MiaClasse() Je ne peux en avoir autant que je veux, quelque chose qui ne peut pas être - la définition même - de MiaClasse() . Par exemple, si applicable et il est logique de la relation:
1 2 3 4 5 | MiaClasse = new MiaClasse ( ) ; var mioOggetto_1: MaClasse = new MaClasse (); MiaClasse = new MiaClasse ( ) ; var mioOggetto_2: MaClasse = new MaClasse (); MiaClasse = new MiaClasse ( ) ; var mioOggetto_3: MaClasse = new MaClasse (); ... MiaClasse = new MiaClasse ( ) ; var mioOggetto_n: MaClasse = new MaClasse (); |
Il n'a pas de sens:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class MyClass { MiaClass fonction () {} MioMetodo_2 fonction () {} } class MyClass { MiaClass fonction () {} MioMetodo_2 fonction () {} } class MyClass { MiaClass fonction () {} MioMetodo_3 fonction () {} } |
Instance de l'objet et, par conséquent, coïncident et sont utilisés alternativement pour la même signification dans des contextes différents.
Probablement pas beaucoup de soins au sujet de n'importe ... la question doit être complète ... ![]()
Avril 2008: Adieu à l'activation de l'ActiveX pour Flash
Sur le blog de Internet Explorer (IE activation automatique des composants (modifications apportées à IE ActiveX Mise à jour)) a été annoncé un changement majeur qui matérialise introns en Avril 2008 avec la publication des correctifs importants, y compris le Service Pack 3 tant attendu. Aperçu, cependant, sera disponible d'ici Décembre 2007 à partir de centre de téléchargement pour Internet Explorer.
En Avril 2006, en fait, Microsoft a introduit un patch dans Internet Explorer qui a bloqué l'interaction avec les composants ActiveX présents dans une page Web Ce «bloc» à la fin est résolu dans la demande explicite - directe de l'utilisateur / navigateur - pour activer la commande (animation Flash, QuickTime, etc ...) via la barre d'espace ou clic de souris.
Dans le temps, cependant, ont été introduits d'une série de raccourcis pour éviter ce raccourcis gênants demande officielle (comme les propositions par la même Macromedia Flash et QuickTime d'Apple) et officieux ( SWFObject ou UFO , par exemple - voir aussi discret Objets Flash ).
Selon les développeurs de Microsoft ne devrait pas modifier quoi que ce soit en Avril 2008 dans les «anciens» des sites en utilisant des raccourcis, mais il est bon de regarder au blog de Internet Explorer pour des cas particuliers.
Microsoft à l'époque revint sur ses pas, et effectivement, nous avions demandé à tous un peu "ce non-sens, c'est que l'activation du contrôle," patch "approche à une carence dans la gestion des ActiveX (balise OBJECT) plutôt que de défauts dans les composants eux-mêmes. Dans les autres navigateurs, en effet, l'utilisation de plug-in est accompagné par le TAG plus solide EMBED. Une dernière note:
Dans les prochaines semaines, nous mettrons à jour l' article MSDN avec la description du nouveau comportement. Gardez un œil sur ici pour lorsque l'aperçu va vivre.
Plein écran dans Flash à partir du navigateur
Flash a toujours soutenu le plein écran (fullscreen) est en stand-alone lecteur au projecteur. Ce mode est encore entièrement pris en charge et n'a pas changé. Au lieu d'Adobe a récemment introduit la possibilité pour activer directement les films en plein écran affichés dans le navigateur. Nous avons introduit une fonction ActionScript nouvelle et simple qui fonctionne avec les deux joueurs lecteur autonome avec le navigateur. ed <embed> . Pour rendre le fuzionante plein écran doit fonctionner HTML côté, en ajoutant un nouveau paramètre allowFullScreen en TAG <object> et <embed> . Tout le reste est laissé à l'interne du moteur de Flash.
Cette nouvelle capacité est encore certaines restrictions que vous devez savoir, tout d'abord l'utilisation de la version de Flash Player 9.0.28.0 ou plus. En outre, en résumé:
- Navigateur doit être installé sur la version du Player 9.0.28.0 ou plus
- e
<embed>. Le développeur doit ajouter un nouveau paramètreallowFullScreenbalise dans<object>et<embed>. Ce paramètre est normalement réglé àfalseet ne permet pas en plein écran. Pour activer fullscreen doit explicitement définie surtrue. - Une boîte de dialogue s'affiche lorsque vous entrez en mode plein écran et vous dire comment sortir de ce mode. Cette boîte sera visible pendant quelques secondes, après quoi ils disparaîtront par lui-même.
- L'activation d'ActionScript plein écran ne peut se produire en réponse à un clic de souris ou en appuyant sur un bouton, n'importe quel mode autre sera ignorée dans ActionScript 2.0 et de déclencher une exception
throwdans ActionScript 3.0. - En mode plein écran, vous ne pouvez pas utiliser le clavier. L'utilisateur final ne peut pas entrer ou modifier du texte. La seule réponse est donnée au raccourci clavier utilisé pour quitter le mode plein écran (en appuyant sur
ESC)
ActionScript
Le code nécessaire pour définir le mode plein écran est simple et utilise l'objet Stage discuté sur ce blog en classe StageExt: animations Flash redimensionnable :
1 |
Ecrire bon code OO dans Adobe Flash
Voici quelques conseils sur la façon d'écrire de bons objets de code orientée objet (OO) dans Adobe Flash, en particulier pour ceux qui utilisent encore la version MX d'attente pour passer à CS3.
Organiser les dossiers des classes
Tout d'abord, l'organisation des classes rend le travail de la maintenance du code extrêmement simple. Vous pouvez également créer une véritable bibliothèque, vous pouvez réutiliser dans d'autres projets. Flash utilise une nomenclature liée au système de fichiers, puis les organiser en dossiers seront également reflétées sur l'importation de classes. Par exemple, si nous créons la séquence de dossiers "mylibrary / graphics / complot" et d'insérer notre propre classe ActionScript "PlotClass.as" quand nous allons importer la classe que nous devrions utiliser:
1 | grafica . plot . PlotClass ; d'importation. mylibrary graphiques des parcelles. PlotClass.; |
Si la bibliothèque (dossier) "mylibrary" n'est pas dans votre dossier film ou d'un projet, utilisez le flash des paramètres de publication pour sélectionner le chemin:







Derniers Commentaires
Marquez : Merci beaucoup, je l'ai allumé
Je l'ai résolu par la mise en [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Mark: Je vous suggère de réfléchir une approche plus correcte. Si vous exécutez la sous-classe de l'onglet ...
Mark : Excusez le spam .. J'ai remarqué qu'il ya une erreur .. voici la correction [cc_objc] / PrimaClasse.h **** / # import ...
Marco : oubliée .. dans [cci] OptionViewController [/ cci] pour [cci] @ syntetize [/ cci] J'ai mis le délégué
louis : très clair et simple, je dois avouer que rédiger un an à peine utiliser des délégués créés par ...