Die Klasse MPMoviePlayerController hat den großen Defekt nicht mehr adäquat managen zeitgenössischen Videos, zusätzlich zu machen schwierig, eine Reihe von Videos einer nach dem anderen zu schaffen. che è una sottoclasse di AVPlayer ), appartenente al framework più a basso livello AVFoundation , è invece estremamente più versatile, nonostante mantenga egualmente una semplicità nell'implementazione. Die Klasse AVPlayer (oder AVQueuePlayer , die eine Unterklasse der ist AVPlayer ) aus der unteren Ebene Rahmen AVFoundation , sondern ist äußerst vielseitig, ebenso die Aufrechterhaltung trotz der Einfachheit in der Umsetzung.

Mehr ...
Die MapKit Framework bietet viele nützliche Funktionen, mit Ausnahme der Rückkehr der Breite und Länge von einer Adresse. In JavaScript, zum Beispiel, können Sie den Service von Google Geocoding zur Verfügung gestellt und diskutiert in Google Maps: Wie man Breite und Länge von einer Adresse zu bekommen . Auf dem Apple iPhone oder iPad, können Sie jedoch das Hindernis durch Verwendung eines anderen Google-Services zu überwinden. Insbesondere können Sie direkt rufen Sie die URL:
1
| http://maps.google.com/maps/geo?q = [Adresse] & output = csv |
Wo ist [indirizzo] , um den String mit der Adresse, die Sie umwandeln möchten Koordinaten eingeben. Der Ausgang zurückgekehrt ist vom Typ:
1
| 200,8,41.9128300,12.2241172 |
). Der erste Wert, 200 , zeigt an, dass alles gut gegangen ist ( 200 OK ). Die zweite, 8 , ist das Google-Parameter Genauigkeit (1-10). Die letzten beiden Werte sind, endlich, Breiten-und Längengrad. Jetzt sehen wir, ein Prototyp für ein Verfahren in unseren Anwendungen einbezogen werden können:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| CLLocationCoordinate2D ) getLocationFromAddress : ( NSString * ) address { - (CLLocationCoordinate2D) getLocationFromAddress: ( NSString *) Adresse { urlString = [ NSString stringWithFormat : @ "http://maps.google.com/maps/geo?q=%@&output=csv" , NSString * urlString = [ NSString stringWithFormat: @ "% @ http://maps.google.com/maps/geo?q = & output = csv" NSUTF8StringEncoding ] ] ; [Adresse stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]; listItems = [ locationString componentsSeparatedByString : @ "," ] ; NSArray * ListItems = [locationString componentsSeparatedByString: @ ""]; / / Int zoom = 0; 0.0 ; doppelte Breite = 0,0; 0.0 ; doppelte Länge = 0,0; listItems count ] > = 4 && [ [ listItems objectAtIndex : 0 ] isEqualToString : @ "200" ] ) { if ([ListItems count]> = 4 && [[ListItems objectAtIndex: 0] isEqualToString: @ "200"]) { / / Zoom = [[ListItems objectAtIndex: 1] intValue]; listItems objectAtIndex : 2 ] doubleValue ] ; Breitengrad = [[ListItems objectAtIndex: 2] doubleValue]; listItems objectAtIndex : 3 ] doubleValue ] ; Länge = [[ListItems objectAtIndex: 3] doubleValue]; { Else {} / / Fehler } CLLocationCoordinate2D Standort; location.latitude = Breite; location.longitude = Länge; Standort zurückkehren; } |
Notes of Interest
, alla stregua della funzione explode ( ) del PHP per intenderci. Die Zeichenfolge in zurückgekehrt locationString wird "gesplittet" nach der Methode componentsSeparatedByString , wie die Funktion explode ( ) von PHP zum Beispiel. Im Beispiel habe ich vorgeschlagen, trat ich - aber kommentiert - den Code, um auch die Google-Parameter Genauigkeit, Präzision oder Skalierungsfaktor, mit bezeichnet abrufen zoom .
Quelle als
Der Vollständigkeit halber, habe ich eine gemacht kleine Beispiel-Anwendung , mit der Sie die Methode oben vorgeschlagenen versuchen können, geben Sie eine beliebige Adresse und das iPhone wird auf der Karte anzuzeigen.


Quellcode
Ich danke dem Team devapp für die Inspiration dieses Artikels.
Mehr ...
1. Strings über mehrere Zeilen
In Xcode, können Sie "brechen" einen String über mehrere Zeilen, indem Sie am Ende mit einem Backslash "\". Diese Funktion kann sehr nützlich sein, wenn zum Beispiel, wir um den HTML-Text in einem Steuerelement einfügen möchten UIWebView :
Mehr ...
Xcode ist eine wirklich gute Entwicklungsumgebung, schön und voller Details, die effizienten Code schreiben und angenehmer machen. Unter ihnen ist sicherlich die Bequemlichkeit der automatischen Vervollständigung bei der Eingabe, insbesondere beim Schreiben von Anwendungen für Apple iPhone, wo die Rahmenbedingungen sind vielfältig und erinnern Syntax und Nomenklatur führt zur Zeit ein paar.
Mehr ...
Wie in dem Beitrag gesehen Vielfalt von Codierung und Programmierung Ansätze, die ein Entwickler haben ein Problem lösen können, sind vielfältig und vielfältig für die gleiche Programmiersprache verwendet. Hier ist, wie einige der bekanntesten JavaScript-Frameworks haben eine einfache Funktion gelöst CamelCase :
Prototype.js
Prototype.js , Version 1.6.0.3, explizit ein Verfahren vorgeschlagen, camelize() , um die CamelCase an einer Schnur zu machen. Des Autors Ansatz ist ganz einfach und der Code ist selbsterklärend. In diesem Fall war es nicht jegliche Verwendung von Regular Expression gemacht!
1 2 3 4 5 6 7 8 9 10 11 12 13
| ( ) { camelize: function () { this . split ( '-' ) , len = parts. length ; . var = Teile dieses split ('-'), len = Teile Länge;. len == 1 ) return parts [ 0 ] ; if (len == 1) return Teilen [0];
this . charAt ( 0 ) == '-' . camelized var = dies charAt (0) == '-' 0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Parts [0]. CharAt (0). ToUpperCase () + Teile [0]. Substring (1) 0 ] ; : Teile [0];
var i = 1 ; i < len ; i ++ ) for (var i = 1, i <len; i + +) i ] . charAt ( 0 ) . toUpperCase ( ) + parts [ i ] . substring ( 1 ) ; camelized + = parts [i] charAt (0) toUpperCase () + Teile [i] substring (1)...;
camelized Rückkehr; } |
Mehr ...
Ein guter Entwickler hat kein Problem damit, von einer Programmiersprache zur anderen wechseln. Die Entscheidung, auf eine bestimmte Sprache, Rahmen-oder Entwicklungsumgebung, konzentrieren sich mehr von der Verfügbarkeit von Zeit und der Art der Arbeit, die auf geht diktiert. Aber ein wichtiger Faktor, der die Wahl des "Rahmens" beeinflussen können, so ist die Sympathie und Zuneigung, die im Laufe der Zeit reifen können.
Genauer gesagt, wollte ich einige analysieren - nicht alle - Javascript-Frameworks heute verfügbar ist, weil auch "beraten", einen Blick vor allem auf zu nehmen jQuery .
Die Macher von mootools (einer der bekanntesten JavaScript-Frameworks) zur Verfügung gestellt haben, ein Werkzeug, um einen Geschwindigkeitstest und Gültigkeitsdauer von fünf bekannten JavaScript-Frameworks laufen: Slickspeed . Dieser Test ist das Ergebnis gar nicht klar, wie wichtig die Arbeit an den Client-Seite JavaScript-Frameworks, die von unserem Browser ausgeführt werden. Es ist genau aus diesem Grund, dass einige finden, Safari schneller als Internet Explorer oder Google Chrome schneller als Firefox . Doch dies hängt oft von der Art der angezeigten Seite. Tatsächlich kann es gut passieren, dass ein bestimmter Ort ist wirklich "schneller" als in Safari angezeigt, aber das bedeutet nicht, dass "alle Seiten" wird schneller mit Safari! Natürlich ist dies auch für alle anderen Browser.
Der Benchmark
In Tests habe ich mit gemacht Slickspeed Ich verglich die verfügbaren Browser auf meinem Rechner (Windows Vista 64bit Utilmate - Intel Core 2 Quad 2,4 GHz mit 8 GB RAM).
Leider sind die Tests nicht in der Lage, mit Internet Explorer 7 ausgeführt wird, als das Auto stürzte, ging sogar außerhalb der Skala mit den Ergebnissen! Noch einmal herzlichen Glückwunsch Microsoft.
Ich crercato zu den gleichen Status des PCs während des Testlaufs zu halten, Öffnen des Browsers und nicht individuell, indem er keine anderen Prozesse laufen.
Hinweis: Wenn Sie, wie Sie auch eine oder mehrere dieser Tests fühlen, können Sie sich auf dieses Thema liegt im Falle der "odd" und andere Ergebnisse zu kommentieren.

Google Chrome war wirklich schnell, mit einem Wert von 68 (Durchschnitt) im Test mit jQuery . Je langsamer war jedoch Flock , obwohl sie dem gleichen "Mutter" Mozilla. Das schlechte Abschneiden von Flock ist wirklich neugierig, wie sein zukunftsweisendes Social Networks, weil es gerade die Social Network Web 2.0, um die Vorteile der vielen JavaScript-Frameworks zur Verfügung zu nehmen, um so eine Erfahrung von wirklich innovativen Navigation und Interaktion bieten.
Überraschenderweise schlägt FireFox und Opera hat auch eine nette kleine ", auch immer eine 74 in der Leistung der Dojo ! Firefox und Safari, schließlich sind ähnlich, mit Safari schneller in Tests mit Mootools und jQuery.
Welche Rahmenbedingungen zu wählen?
Wenn wir uns nicht kümmern, um die Geschwindigkeit der Ausführung zu testen und wir kümmern uns nicht Dimesion in Kbytes des gleichen Rahmens können die Antwort sein "Whatever You Like" oder, wenn Sie so wollen, "was Sie wissen es besser ist oder mehr harmonisch mit Ihrem Art der Programmierung. "
Letzten Endes werden diese Rahmenbedingungen sehen ein bisschen 'all (siehe zum Beispiel die Verwendung von $), obwohl einige wichtige und wesentliche Unterschiede, die in den Augen eines Experten springen kann oder wirklich schob die Verwendung einer bestimmten Bibliothek. Im Prinzip in der Tat alles, was mit jQuery getan werden kann, zum Beispiel, können Sie mit mootools oder Prototyp in Ordnung! Wenn jQuery hat eine sehr kompakte Syntax, da alle Methoden immer wieder die jQuery-Objekt-Basis, wodurch endlose Reihen von oggetto.metodo().metodo().metodo()... sagte, dass dies nicht bei allen kostet Kraft, vor allem für diejenigen, die haben zu debuggen wird!
Bibliotheken wie prototype.js Sünde, vielleicht in der Abwesenheit von Effekten, auch einfach, die Entwickler zu zwingen als Spin-off zu implementieren scriptaculous.js , schwer und weit von der Bibliothek die erste Wahl.
Ein Beispiel
Genau dies ist, warum zum Beispiel brachte mich dazu, die gekoppelt Prototype / Scriptaculous mit jQuery zu ersetzen, um interaktive Tafeln / Animierte undolog.com hier erstellen in der Seitenleiste. In der Tat, auch die Verwendung von Google-API-Bibliotheken zu importieren, ist eine Verschwendung Last all die Bibliothek und für eine scriptaculous slideDown slideup. Für Informationen und ein Beispiel, hier ist die Javascript-Code, wie es mit der Prototype / Scriptaculous gekoppelt wurde:
1 2 3 4 5 6 7 8 9 10 11 12 13
| / / Prototype / Scriptaculous ) . each ( $ $ ('H2.dropdown'). Stück ( element ) { function (element) { = "pointer" ; .. Element style cursor = "Zeiger"; 'click' , Element. beobachten ("Klick", event ) { function (event) { this . next ( ) . style . display == "" ) new Effect. BlindUp ( this . next ( ) , { duration : .5 } ) ; if (.. This. next () Stil Anzeige == "") neue Effect BlindUp (This. next (), {duration: 0,5});. Effect. BlindDown ( this . next ( ) , { duration : .3 } ) ; Effect sonst neue BlindDown (This. next (), {duration: 0,3}).; event ) ; . Event-Stop (event); } ) } ); |
und es ist jetzt mit jQuery:
1 2 3 4 5 6 7 8 9 10
| / / JQuery ) . each ( $ ('H2.dropdown'). Stück ( i ) { Funktion (i) { ) . css ( 'cursor' , 'pointer' ) . click ( $ (This). Css ('Cursor', 'Zeiger'). Klicken Sie ( function () { $ ( this ) . next ( ) . is ( ':hidden' ) ) $ ( this ) . next ( ) . slideDown ( ) ; else $ ( this ) . next ( ) . slideUp ( ) ; if (.. $ (this) next () ist (': hidden')) $ (this) next () slideDown (); else $ (this) next () slideup ();.... } ); } ); |
Alles in allem ein genauerer Blick, glaube ich nicht, gibt es einen großen Unterschied! Aber wie ich schon sagte ... die Frage ist "gut" des persönlichen Geschmacks.
Mehr ...
Was?
N3TV Interactive Plattform ist die Plattform der Interaktivität N3TV.it , die Idee von Thomas Tessarolo , "Blogger-Aktion" argumentiert, dass, wenn die Net TV ist sicherlich nicht auf Worte allein beschränkt, sondern wirkt konkret erfahren aus erster Hand, was bedeutet "Net TV" und bietet Software-Tools in der Lage, neue Generation von Online-Interaktion.
Die Plattform N3TV Interactive Plattform hat daher das Ziel, die Interaktivität während der zahlreichen Fernseh-Live-Vorschläge zu liefern N3TV.it .

N3TV.it: eine mit N3TV Interactive Plattform
Mehr ...
Es ist erhältlich, um die Aktualisierung Aptana IDE , die Web-Entwicklungsumgebung, unterstützt Adobe AIR und Apple iPhone . Zu den neuen Verbesserungen in der PHP-Abschnitt durch die Aktualisierung der Code Assist-Funktionen auf beide Parameter. Auch verbesserte sich die "Farbe" des Codes. Zusätzliche Unterstützung für neueste Ajax-Frameworks einschließlich prototype.js und jQuery . Auch verbessertes Handling von Javascript.

Für die komplette Liste der neuen Features finden Sie hier .
Mehr ...
Unter den verschiedenen Bibliotheken - oder Satz von Bibliotheken (real-Framework), die sich mit Ajax, HTML und Web-2.0-Interface-Erweiterung, die ich gesehen habe, Ext ist auf jeden Fall bemerkenswert. Die Webseite und die Dokumentation sind gut gemacht und organisiert, auch die Demo nicht entgehen lassen. Die grafische Benutzeroberfläche, Kompatibilität mit Prototype und Scriptaculous und impletazione von Yahoo Utils, machen ihn zu einem interessanten System, mindestens! Beachten Sie jedoch die Lizenz! Trotz präsentiert sich als Open Source und kostenlos für den persönlichen Gebrauch, erfordert eine Gebühr, die Nutzung und Pflege zu verbessern. Letztere, in der Tat darin, sie nie im Rahmen einer bestimmten Komplexität unterschätzt werden.
Für die Dokumentation und Demo hier klicken .
Insbesondere Ich erwähne dieses System, ich bin immer noch analysiert im Detail, wie es verwendet wurde, um zu schaffen Frische Feed-Reader , eine der Beispielanwendungen mit dem Release zur Verfügung gestellt von Adobe Apollo Alpha (siehe Adobe Apollo Alpha Release ). Frische ist es daher, ein Beispiel für zwei von Apollo, der seine Fähigkeit, HTML und Javascript auf der am besten verwenden demonstriert. Frisch, in der Tat, ist nicht eine reine Apollo, sondern nutzt den Rahmen Ext - und dann JavaScript und HTML - Apollo im Motorraum! Great!
Mehr ...
Neueste Kommentare
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 ...
Mark : Entschuldigen Sie die Spam .. Ich bemerkte, dass es einen Fehler .. hier ist die Korrektur [cc_objc] / PrimaClasse.h **** / # import ...
Marco : vergessen .. in [IHK] OptionViewController [/ CCI] für [IHK] @ syntetize [/ CCI] Ich legte den Delegierten
Louis : sehr klar und einfach ich muss zugeben, dass das Schreiben eines pa kaum Delegaten verwenden, erstellt von ...