Artikel Tagged 'Apple'


iPhone FirstApp: Guess the Zahl - Teil 1

Die erste Quelle, die ich in seine Hände gingen in Basic geschrieben wurde und bestand aus ein paar Zeilen Code, für mich aufschlussreich. Es war ein einfaches Spiel, das eine zufällige Zahl von 1 bis 10 erzeugt und durch Tastatureingabe, bewiesen, dass die eingegebene Zahl Maggione, weniger als oder gleich der Zufallszahl war. Trotz seiner rauen Einfachheit bleibt für mich eines der besten Beispiele - einfach, Spaß und praktisch - bis auf diejenigen, die nicht wissen, etwas über die Programmierung, was tatsächlich für "Computerprogramm" gemeint zu erklären. Also habe ich es für Apple iPhone vorschlagen entschieden, wird vielleicht jemand helfen ...

Mehr ...

Objective-C: Typkonvertierung

Bei einigen High-Level-Sprachen wie JavaScript oder PHP, wo Daten nicht typisiert sind oder auf andere Weise kann nicht sein, wir sind "verwöhnt" im Vergleich zu konvertieren oder Zeichenfolgen und ganze Zahlen und umgekehrt, alle versteckt oder vom Interpreter manipuliert (oder Compiler ). Zum Beispiel in JavaScript-Funktionen werden "gezwungen" (wie parseInt() zum Beispiel) in besonderen Fällen erforderlich. Allerdings unter anderen Umständen zu behandeln, ohne die ganzen Zahlen von besonderer Sorge Konvertierungen (explizit), wie zB:

1
2
3
5 ; mioNumero var = 5;
/ / ...
"Il valore di mioNumero è " + mioNumero ) ; alert ("Der Wert ist mioNumero" mioNumero +);

Objective-C ist jedoch der Datentyp wichtig und die Typkonvertierung muss ausdrücklich erklärt werden. Neben dem Casting (bessere Typumwandlung) können wir die Eigenschaften und Funktionen speziell für die Typkonvertierung. Zum Beispiel, hier ist, wie man eine ganze Zahl in einen String umgewandelt:

1
2
3
4
5 ; mioNumero int = 5;
miaStringa = [ NSString stringWithFormat : @ "%d" , mioNumero ] ; NSString * myString = [ NSString stringWithFormat: @ "% d", mioNumero];
/ /
"miaStringa=%@ mioNumero=%i" , miaStringa, mioNumero ) ; NSLog (@ "% @ myString = mioNumero =% s", myString, mioNumero);

Im Gegensatz dazu ist hier, wie eine Zeichenfolge in eine ganze Zahl zu konvertieren:

1
2
3
4
miaStringa = @ "128" ; NSString * myString = @ "128";
[ miaStringa integerValue ] ; mioNumero int = [myString integerWert];
/ /
"miaStringa=%@ mioNumero=%i" , miaStringa, mioNumero ) ; NSLog (@ "% @ myString = mioNumero =% s", myString, mioNumero);

Mehr ...

iPhone-Code-Snippet: UIAlertView

Die Klasse UIAletrView können Sie ein modales Fenster (animiert) anzuzeigen, um zu informieren und / oder dich etwas fragen. Die UIAlterView (Warnmeldungen anzeigen) sind sehr komfortabel und einfach zu bedienen. Der Umgang mit Benutzer-Reaktion wird durch das Abfangen der Index der Schaltfläche gedrückt gelöst. Um eine einfache Ansicht UIAlterView schreiben Sie einfach:

1
2
3
4
/ / Alert mit einem einfachen Knopf, ohne Rückruf
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" cancelButtonTitle : @ "Annulla" otherButtonTitles : nil ] ; UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Titel" Nachricht: @ "Message" cancelButtonTitle: @ "Abbrechen" otherButtonTitles: nil];
; [MyAlert Show];
; [MyAlert release];

Und 'möglich, zusätzliche Schaltflächen fügen otherButtonTitles :

1
2
3
4
/ / Alert mit zwei einfachen Knöpfen, kein Rückruf
[ [ UIAlertView UIAlertView MyAlert * = [[UIAlertView
; [MyAlert Show];
; [MyAlert release];

: Um festzustellen, welche Taste gedrückt wurde, fügen Sie einfach den delegate:self der Initialisierung des Objektes UIAlterView :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/ / Einfache Alarm mit zwei Tasten und Rückrufe
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Titel" Nachricht: @ "Message" Delegierter: Selbst cancelButtonTitle: @ "Abbrechen" otherButtonTitles: @ "Ok", nil];
; [MyAlert Show];
; [MyAlert release];

/ / Der Rückruf hat die folgende Syntax

void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) {buttonIndex
buttonIndex ) { Schalter (buttonIndex) {
: Fall 1:
/ / Code
zu brechen;
}
}

Der Rückruf alertView müssen diese Namen haben, für weitere Informationen siehe UIAlertViewDelegate

punteranno sempre a quella. Mit nur der RÜCKRUF alertView:clickedButtonAtIndex mehr UIAletrView wird immer zu diesem Punkt. Mit dem Tag-Feld des Objekts UIAletrView , können wir bestimmen, was der "Anrufer":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/ / Einfache Alarm mit zwei Tasten und Rückrufe
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Titel" Nachricht: @ "Message" Delegierter: Selbst cancelButtonTitle: @ "Abbrechen" otherButtonTitles: @ "Ok", nil];
; myAlertA.tag = 1;
; [MyAlertA Show];
; [MyAlertA release];

/ /
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView myAlertB * = [[UIAlertView alloc] initWithTitle: @ "Titel" Nachricht: @ "Message" Delegierter: Selbst cancelButtonTitle: @ "Abbrechen" otherButtonTitles: @ "Ok", nil];
; myAlertA.tag = 2;
; [MyAlertB Show];
; [MyAlertB release];

/ / Mehrere Management UIAlertView

void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) {buttonIndex
"Alert Tag: %i" , alertView.tag ) ; NSLog (@ "Alert-Tags:% s", alertView.tag);
"buttonIndex: %i" , buttonIndex ) ; NSLog (@ "buttonIndex:% s", buttonIndex);
}

Mehr ...

Sehr kurze Trick: stop NSTimer

Die Verwendung von Timern ( NSTimer ), um Anwendungen für das iPhone zu entwickeln, ist sehr häufig, nicht nur in Spiele zu machen. Eines der Probleme, mit denen man kollidieren ist die Ungleichzeitigkeit des Timers, die führen, können während der Verhaftung von einem oder mehreren Timer, der Absturz unserer Anwendung. , si invoca la invalidate che, appunto, arresta il timer. Wenn Sie einen oder mehrere Timer, wo aufhören wollen repeats zu setzen ist YES , nennen Sie das invalidate , dass in der Tat, den Timer anhalten.

Mehr ...

Apple iPhone 3.0 SDK: Korrektur eines Fehlers auf UIButton buttonWithType

Wie im Beitrag angegeben Apple iPhone SDK 3.0: Erste Inkompatibilität des Apple SDK 3.0 zeigen unterschiedliche Verhaltensweisen in Bezug auf 2.2.1 zu veröffentlichen. Support-Service für Entwickler, gab mir die Antwort, und dann die Lösung des Problems. . Die Antwort war, dass die technische Unterstützung [UIButton buttonWithType:] bereits genannt - im Inneren - die initWithFrame . Daraus folgt, dass, je nach technischer Support, und schreibt:

Mehr ...

Von Actionscript zu Objective-C

Ich dachte, es könnte nützlich sein für diejenigen, die vor kurzem die Entwicklung von Anwendungen für Apple iPhone genähert haben, vergleichen Sie Adobe ActionScript - die Sprache, in Adobe Flash und Adobe Flex verwendet, häufiger bei den Neo-Programmierer - und Objective-C von Apple verwendet, um ihre Anwendungen zu entwickeln. Objective-C ist in der Tat eine objektorientierte Sprache, die im reinen Sinne, nicht, dass Actionscript nicht ist, aber Objective-C ist definitiv ein Plus, weil es eine Erweiterung von ANSI-C ist und die Syntax ist eine Mischung zwischen C / C + + und Smalltalk, ist eine echte OO (objektorientierte Sprache).

Mehr ...

Apple iPhone SDK 3.0: erste Unverträglichkeit

Nachdem Sie das SDK 3.0 installieren für Apple iPhone, offenbar noch nicht vollkommen stabil, bemerkte ich sofort ein paar Probleme, sowohl bei der Erstellung des Codes ist in der allgemeinen XCode. Das Wichtigste - die Schaffung von Tasten über Code - die ich prompt mit einem "Zuhause" an Apple, Entwickler in der Mitte berichtet. Hier ist ein Auszug des Codes ist nicht kompatibel mit SDK 3.0:

1
2
3
4
[ [ UIButton buttonWithType : UIButtonTypeRoundedRect ] initWithFrame : CGRectMake ( 0 , 0 , 100 , 40 ) ] ; UIButton myButton * = [[UIButton buttonWithType: UIButtonTypeRoundedRect] initWithFrame: CGRectMake (0, 0, 100, 40)];
@ "Bottone" forState : UIControlStateNormal ] ; [MyButton setTitle: @ "Button" forState: UIControlStateNormal];
/ / Andere Einstellungen
myButton ] ; [Self.view addSubview: myButton];

Durch das Ausfüllen dieses Codes mit dem SDK 2.2.1 erhalten Sie ein klassisches Button mit der Beschriftung "Button". Mit dem SDK 3.0, wird der Button erstellt, aber das Label verschwindet. la situazione sembra migliorare, nel senso che la label viene resa apparentemente in modo corretto. Mit wie buttonWithType die Art UIButtonTypeCustom scheint die Situation zu verbessern, in dem Sinne, dass das Etikett scheinbar richtig gemacht wird. Es ist immer noch seltsam an den plötzlichen Ausfall des Typs UIButtonTypeRoundedRect . Ich bin immer noch auf eine Antwort von Apple ... Ich habe gerade Neuheiten; Platz!

Mehr ...

Das Erste: Erhältlich über iTunes

Sechs Tage und AppStore hat die (meine) genehmigt erste Anwendung für Apple iPhone!

Mehr ...

Hallo Telefon

iphone Ab heute eröffnet einen neuen Abschnitt (Kategorie korrigiert werden) gewidmet ist die Entwicklung von Anwendungen auf dem Apple iPhone! Ich behaupte nun, dass viele der Elemente, werden die Veröffentlichung einer "cut" in Einklang mit dem Geist dieses Blogs, die meist sein wird für fortgeschrittene Anwender werden. Aber, wie ich dies in anderen Themen getan haben, versuchen, so klar wie möglich und, wenn nötig, legte "Grundkonzept" nützlich, um ein breiteres Publikum.

Mehr ...

Sehr kurze Trick: deaktivieren Sie das Ändern der Größe eines textarea auf Safari

In jedem Browser entwickelt, ausgehend von der Rendering-Engine WebKit (wie apputo Safari oder Chrome ), die Felder textarea Show, in der unteren rechten, das charakteristische Merkmal der Größenänderung. Wenn solche Besonderheit kann wirklich nützlich sein in bestimmten Fällen, in anderen wird in ein Element ärgerlich verwandelt.

Mehr ...



Stop SOPA