In Objective-C haben wir zwei sehr zum Empfangen und Senden von Nachrichten zwischen den Klassen: die Benachrichtigungen und Delegierten. Der Unterschied zwischen den beiden, abgesehen davon, an die Umsetzung betrifft, hängt im wesentlichen von dem "Wie" - Objekte - können Sie eine Nachricht erhalten. Zunächst möchte ich zeigen, wie das Konzept der Delegierten war geboren.
Artikel Tagged 'class'
Objective-C: Benachrichtigungen und Delegaten
Wie Sie Ihr eigenes Protokoll erstellen mit delegierter
Selbst in den einfachsten Tutorial finden Sie die Verwendung von Protokollen. Es wird sicherlich auf viele Ihrer View-Controller in einem Protokoll, das geschehen, verteilen, neben der Definition der Schnittstelle, eine Anweisung ähnlich:
1 2 3 | UIViewController <uiwebviewdelegate> { @ Interface myViewController: UIViewController {<uiwebviewdelegate> ... } |
Wie man eine Gruppe von Tags auswählen, die haben keine Kinder eines bestimmten Typs
jQuery ist bis Version 1.4! Neben einigen neuen Funktionen und den "üblichen" Rewrite des Codes, die alle Unterlagen wurde überarbeitet, damit wirklich besser lesbar als vorher. impostato a _blank ! Aber wir sehen die Frage auf, dieses Thema liegt; Problem: add, mit jQuery, eine Klasse für alle Tags a Besitz das Attribut target gesetzt _blank !
iPhone: eine Klasse erweitern UIView
creato. Ich will zeigen, wie es möglich ist, in eine einfache und schnelle, eine Klasse zu erweitern UIView in einer Weise, die zu einer neuen Initialisierung Verfahren weiter mit dem Objekt-Code anpassen reagiert UIView erstellt. Wie einige von Ihnen wahrscheinlich wissen, ist Objective-C nicht unterstützen einen einzigen Hersteller, wie in anderen objektorientierten Sprachen (wie z. B. Adobe ActionScript oder PHP5). E 'kann in der Tat, erstellen Sie eine Instanz einer Klasse manuell aufrufen verschiedener Hersteller (praktisch unendlich). . Normalerweise sind wir es gewohnt, Objekte zu erstellen UIView mit dem klassischen initWithFrame . Nehmen wir an, wir aber um eine neue Klasse von visuellen Objekten erstellen, ausgehend von einem wollen UIView , mit einigen Zusätzlich wird ein solches Etikett integriert. . Im Grunde, was wir wollen, ist, dass unser Objekt instanziieren es schafft, sowie die UIView , ein Objekt vom Typ UILabel . Zum Beispiel könnten wir wollen bis zum Ende zu erhalten:
1 | [ [ ViewLabel alloc ] initWithLabelDefine : CGRectMake ( 0 , 0 , 320 , 80 ) label : @ "Ciao" ] ; ViewLabel * VL = [[ViewLabel alloc] initWithLabelDefine: CGRectMake (0, 0, 320, 80) label: @ "Hallo"]; |
: Dazu erstellen Sie einfach eine neue Klasse des Typs UIView und Call ViewLabel :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | / / / / ViewLabel.m / / # Import "ViewLabel.h" @ Implementation ViewLabel id ) initWithFrame : ( CGRect ) frame { - (Id) initWithFrame: (CGRect) frame { self = [ super initWithFrame : frame ] ) { if (self = [super initWithFrame: frame]) { / / Initialisierung Code } Selbst zurückkehren; } / / / / Unsere neue Initialisierung / / id ) initWithLabelDefine : ( CGRect ) frame label : ( NSString * ) labelDefine { - (Id) initWithLabelDefine: (CGRect) Bildbezeichnung: ( NSString *) {labelDefine self = [ super initWithFrame : frame ] ) { if (self = [super initWithFrame: frame]) { / / Hier können Sie entscheiden, wie sie sich verhalten, ich für / / Ich habe das gleiche Gestell Sicherheit in der Vergangenheit / / Input, aber ich setzen Sie den x-und y- ; frame.origin.x = 0; ; frame.origin.y = 0; UILabel alloc ] initWithFrame : frame ] ; internalLabel = [[UILabel alloc] initWithFrame: frame]; internalLabel.text = labelDefine; internalLabel ] ; [Self addSubview: internalLabel]; ; [InternalLabel release]; } Selbst zurückkehren; } void ) drawRect : ( CGRect ) rect { - (Void) drawRect: (CGRect) rect { / / Zeichnen-Code } void ) dealloc { - (Void) {dealloc ; [Super dealloc]; } @ End |
Zum Zeitpunkt der Erstellung unserer neuen Klasse, könnten wir verwenden:
1 | [ [ ViewLabel alloc ] initWithLabelDefine : CGRectMake ( 0 , 0 , 320 , 80 ) label : @ "Ciao" ] ; ViewLabel * VL = [[ViewLabel alloc] initWithLabelDefine: CGRectMake (0, 0, 320, 80) label: @ "Hallo"]; |
WordPress: passen Sie die Navigation zwischen den Pfosten
WordPress bietet viele Funktionen, um durch die verschiedenen Beiträge und Seiten vorwärts und rückwärts navigieren. Diese werden innerhalb der Themen, die oft in einem völlig austauschbar verwendet, obwohl sie einige Unterschiede enthalten. Diese in der Tat, stiften Verwirrung in der Wahl der Funktion zu nutzen. Hier sind einige Hinweise:
Actionscript 3.0 für Anfänger: Lektion # 5
Wer hat damit begonnen, Code mit Skriptsprachen wie JavaScript oder ActionScript selbst zu entwickeln, vielleicht nicht wissen, all das Konzept der Datentyp. Bei einigen High-Level-Sprachen, in der Tat, pflegte er - bestenfalls - zu Variablen ohne Angabe von bestimmten Datentyp deklarieren, nicht gerechnet, dass diese Sprachen benötigen keine Anweisung (z. B. PHP - nicht im strengen Version 5 ).
Sehr kurze Trick: ADDED_TO_STAGE
per capire quando il nostro MovieClip è disegnato effettivamente sulla stage: Wie wir bereits gesehen, immer wieder, im Konstruktor einer Klasse, die erweitert MovieClip kann es notwendig sein, um das Ereignis hinzufügen ADDED_TO_STAGE zu verstehen, wenn unsere MovieClip wird tatsächlich auf der Bühne gezogen:
Sehr kurze Auszug: jQuery Auto Target blank Link
Nichts Neues, aber das Zeichen, mich zu erinnern: wie man ein Bild, um alle Links, die eine neue Seite öffnen, hinzuzufügen:
1 | ) . addClass ( 'external' ) ; jQuery ('a [@ target = _blank]') addClass ("externe").; |
Actionscript 3.0 für Anfänger: Lektion # 4
Wir setzen unsere Beispiel-Code von TicTacToe (gefunden in voller Länge auf Google Code ), und wir beginnen, sie im Detail zu analysieren.
Import-Definitionen
Mit ActionScript 3.0 ist eine leistungsstarke Lösung zur Reinigung und Unterkunft nell'alberatura Klassen (enthalten in den Paketen getan package ) während der Entwicklung verwendet. In anderen Programmiersprachen, wie C zum Beispiel, wenn Sie eine Funktion verwenden möchten, müssen explizit "Import" in den Code. Diese "Lieferung" ist notwendig, damit der Compiler, um alle Codes und Definitionen im Zusammenhang mit den Features, die wir verwenden wollen, haben. ; Actionscript 3.0 mette a disposizione l'istruzione include che è identica all' #include del C/C++. In ActionScript 3.0 sind jedoch die Anweisung import sollte nicht mit der entsprechenden C / verwechselt werden C + + #include ; ActionScript 3.0 bietet Ausbildung include das ist identisch mit ' #include in C / C + +. Letzteres in der Tat, "includes" eigentliche Code, der, falls verwendet oder nicht, ist der letzte kompilierte ausführbare Datei. Bildung import ist die höchste Stufe und ist mehr "intelligente" bei der Kompilierung. Es wird hauptsächlich für den Zugang Klassen ohne Angabe ihrer vollständigen Namen verwendet. In alre Worten statt mit Formen wie:
1 |
Sehr kurze Trick: Vielseitigkeit von CSS-Klassen
nei fogli di stile CSS. Die meisten Experten wird schon wissen, aber ich werde oft gefragt, was ist der Unterschied zwischen class und id in der CSS. , è la possibilità di usare classi multiple. Ein Überblick über einige Unterschiede und Warnungen vor zu finden sind Klassen und ID in CSS , aber eine nützliche Funktion, unterscheidet class von id , ist die Fähigkeit, mehrere Klassen zu verwenden.






Neueste Kommentare
Giovambattista Fazioli : @ Nik: Ich bin glücklich! Viel Glück dann!
Nik : Ich habe Montag Informationen über Java-Prüfung, dank mir, Sie hat uns sehr geholfen, das Buch, das ich war unklar ...
Mark : Vielen Dank, ich habe angezündet
Ich löste es, indem Sie [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Mark: Ich schlage vor, Sie denken, ein richtiger Ansatz. Wenn Sie das Unterklasse der Registerkarte ...
Louis : sehr klar und einfach ich muss zugeben, dass das Schreiben eines pa kaum Delegaten verwenden, erstellt von ...