V tomto vláknu vám ukážu, jak napsat jednoduchou aplikaci pro iPhone pomocí oficiální sady SDK. Je snadné jej získat, vše, co potřebujete, je:
1. Mac s procesorem Intel (i když funguje také na PowerPC, ale po určitých gestech)
2. iPhone SDK. Budu psát na beta 2. Nejnovější verze lze získat registrací na developer.apple.com. Beta 2 lze nalézt na torrentech

Ahoj Habr

abychom Moskvu moc nenamáhali, uděláme to nejjednodušší: aplikace zobrazí pouze logo habr. Otevřete XCode (vyžadováno v 32 bit režim) a vytvořte novou aplikaci Cocoa Touch:

nazvěme to HelloHabr a uložme si to na plochu.

Průvodce vytvořením projektu to již provedl za nás. Podívejme se na obsah main.m:
#import

int main(int argc, char *argv)
{
NSAutoreleasePool *pool=[init];
// protože iPhone neumí používat garbage collection, používáme pro usnadnění života fond autorease
int retVal = UIApplicationMain(argc, argv, nil, @"HelloHabrAppDelegate");
//pro spuštění aplikace je třeba zavolat tuto funkci. @"HelloHabrAppDelegate" - třída, do které bude ovládací prvek přenesen
;
návratová retVal;
}

Nyní se podívejme na HelloHabrAppDelegate.h:
#import

A na HelloHabrAppDelegate.m:
#import "HelloHabrAppDelegate.h"
#import "MyView.h"

@implementation HelloHabrAppDelegate
//tyto direktivy znamenají, že při kompilaci místo přístupu přes. zadejte getter "s and setters"
okno;
contentView;

//funkce delegovaná z UIApplication
- (void)applicationDidFinishLaunching:(UIApplication *)application (
// Vytvoří hlavní okno
self.window = [[ initWithFrame:[ bounds]] autorease];
// vytvoření contentView
self.contentView = [[ initWithFrame:[ applicationFrame]] autorease];
//přidejte náš contentntView do hlavního okna, aby se zobrazil
;
// zviditelní hlavní okno
;
}

- (void)dealloc(;
;
;
}

Malá matematická část je hotová, můžeme začít psát aplikaci. Logo habr uložíme do složky aplikace. Poté jej přetáhněte ze složky do složky Resources našeho projektu v okně Xcode:

Nyní do třídy MyView přidáme nové pole „habrView“ typu „UIImageView *“, tzn. MyView.h bude vypadat takto:
#import

Nyní definujeme procedury init a dealloc ve třídě MyView:
#import "MyView.h"

@implementationMyView
- (id) initWithFrame:(CGRect)frame (if(self = ) (
//barva pozadí - černá
];
//vytvoří nový objekt s obrázkem loga Habr
UIImage *image = ;
//vytvoří komponentu, která zobrazí logo
self->habrView = [ initWithFrame:CGRectMake(0, 0, .width, .height)];
;
];

;
//do formuláře přidáme komponentu zobrazení loga habr
;
}
vrátit se;
}

- (void) dealloc(;
;
}

Všechno. Zkompilujeme, spustíme a získáme, co jsme chtěli:

A nyní metoda tvorby aplikací pro lenochy. Dashcode je schopen vytvářet webové aplikace pro iPhone a ipod touch. Otevřete Dashcode a vyberte RSS jako prázdné místo. Poté přejděte na kartu „Harbrahabr RSS“ (otevře se návrhář) a změňte nápis „Můj RSS kanál“ na „Habrahabr RSS kanál“:

Klikněte na Spustit a získejte Habrovu RSS čtečku:

V podstatě všechno. Zpětná vazba, přání, návrhy čekají v komentářích

Aktualizace: mírně opraveno formátování, kód se čte lépe, ale zdaleka ne ideální

Jak můžete snadno vidět, jedná se pouze o standardní "stub". Jeho úkolem je správně inicializovat aplikaci, což funkce provádí NSApplicationMain. Tato inicializace (která je společná pro všechny aplikace) zahrnuje vytvoření objektu NSApp dané třídy Aplikace NSA(přesněji NSApp ukazuje na tento objekt).

Jedním z hlavních úkolů objektu třídy NSApplication je načíst hlavní špička -file (ve skutečnosti může být v aplikaci více než jeden xib -file, ale zároveň jeden, obvykle MainMenu.xib je hlavní a je automaticky načten při spuštění aplikace).

V tomto případě se vlastně rozbalí celý strom objektů a vazby mezi nimi, v tomto specifikované xib -soubor. Jak bylo uvedeno v předchozím článku, vlastníkem hlavního bude NSApp xib -soubor.

Jednou ze zajímavých funkcí programování pod Mac OS X je extrémně vzácné vytváření nových tříd založených na NSWindow a NSApplication - téměř vždy lze všech potřebných akcí dosáhnout prostřednictvím delegování a vzoru. Pozorovatel .

V srdci psaní aplikací s GUI lži pocházející z Pokec"koncept MVC (model, pohled, ovladač) .

Podle tohoto konceptu (nepřekvapivě Ruby on Rails používá stejný koncept při vytváření webových stránek) jsou alokovány objekty, které slouží k zobrazení dat ( pohledy), objekty představující data ( modely) a objekty odpovědné za jejich interakci s uživatelem ( ovladače).

Mac OS X již obsahuje velké množství hotových objektů pro zobrazení dat (většinou se dědí z tř. NSView). V pěkném jednoduché aplikace není třeba vytvářet speciální model (i když pro velké aplikace to se ukazuje jako velmi výhodné - veškerá obchodní logika je umístěna přesně v modelu a nevylézá se z něj).

Proto se v jednoduchých aplikacích obvykle používají hotové objekty. pohledy, ale je napsán jeho vlastní objekt controller, který je zodpovědný za interakci s uživatelem. Nejčastěji se takový ovladač dědí přímo od NSView a využívá výkonné funkce systému delegování a oznamování událostí.

Začněme vytvářet aplikaci vytvořením uživatelské rozhraní pro něj. K tomu zavoláme Tvůrce rozhraní dvojklik myší nad soubor MainMenu.xib(anglicky) ze seznamu souborů v pravé části okna projektu. Toto začne Tvůrce rozhraní, okamžitě otevřete soubor xib z našeho projektu.

Ihned po spuštění Tvůrce rozhraní-a odstraňte všechna nepotřebná okna. Dále otevřete okno inspektoru (pomocí příkazu menu Nástroje/Zobrazit informace) a ve vlastnostech okna nastavte nadpis Kalkulačka a zrušte označení položky "Zoom (a změna velikosti)".

Obr. 4. Nastavení okna kalkulačky.

Přetáhněte pole pro zadávání textu z palety komponent a umístěte jej úplně nahoře v okně. Dále přetáhněte tlačítko a umístěte jej do levého dolního rohu okna (obrázek 5.). Změňme text tlačítka na "0" a jeho tag (pole Štítek:) na 0 a mírně zmenšit jeho velikost.

Obr. 5. Rozmístění součástí.

Poté si vyberte z nabídky rozložení příkaz Vložit objekty do a za to vybereme položku matice. Ve výsledku tak vznikne objekt třídy NSMatrix, což je obdélníková matice komponent dané třídy.

Všimněte si, že okno inspektoru nyní odráží vlastnosti objektu třídy NSMatrix.

Obr. 6. Vytvoření bloku tlačítek.

Obr. 7. Vlastnosti matice tlačítek.

Sestavme tak stůl z knoflíků o velikosti 3x4.

Obr. 8. Přizpůsobení textového pole.

Nastavte vstupní pole pomocí inspektoru - odstraňte výběr z položky "Upravitelné" - neumožní vám to explicitně zadat text do tohoto pole - a nastavte zarovnání textu doprava (obr. 9).

Obr 9. Nastavení atributů textového pole.

Tímto způsobem postupně vybereme všechna tlačítka a nakonfigurujeme jejich parametry následovně - jedno z čísel nastavíme jako text (abychom získali jako na obrázku 10) a jako značku pro každé tlačítko uvedeme hodnotu čísla, které tomu odpovídá (obrázek 11). Také nastavte výslednou matici tlačítek na režim Zvýraznění namísto výchozího seznamu.

Obr. 10. Výběr samostatného tlačítka z matice.

Obr. 11. Nastavení atributů jednoho tlačítka z matice.

Ihned přidáme podporu klávesnice pomocí tzv ekvivalent klíče“, kterou jsme probrali v předchozím článku. Chcete-li to provést, klikněte na pole Klíčová ekv.(poté se kolem pole objeví modrý rámeček) stiskněte klávesu, kterou chceme vybrat jako ekvivalent klíče"A.

Tag je číslo, které lze přiřadit libovolnému vizuálnímu prvku (zděděnému z NSView). V některých případech použití tagů značně usnadňuje život programátorovi. V tomto případě tedy porovnáme odeslání stejné zprávy všem digitálním tlačítkům ( digitální:) a obsluha zprávy (v řadiči) si jednoduše vyžádá tag od objektu odesílajícího zprávu, aby získal odpovídající číslo.

Dalším krokem je odstranění dvou nadbytečných tlačítek (krajní tlačítka v poslední řadě), takže dostaneme přesně deset tlačítek (a také čísla).

Chcete-li to provést, dvakrát klikněte na spodní část levé tlačítko v matici a v okně inspektoru zrušte výběr "Povoleno" a zaškrtněte "Transparentní".

V důsledku těchto akcí se levé dolní tlačítko stane neviditelným. Stejným způsobem zneviditelníme pravé spodní tlačítko.

Obrázek 12. Okno kalkulačky s numerickými tlačítky a tlačítky C a CA.

Naším dalším krokem je vytvoření třídy řadiče. Chcete-li to provést, v paletě objektů Knihovna otevřená sekce Objekty a ovladače a přetáhněte modrou kostku, která je objektem třídy NSObject, do okna Main Menu.xib (anglicky) (obr. 13).

Obr 13. Vytvoření třídy založené na třídě NSObject

Po výběru tohoto objektu v okně inspektoru otevřete záložku Identita(předposlední). Dále do terénu třída změnit název třídy z NSObject na CalcController.

Obrázek 14. Vlastnosti třídy CalcController.

Dále pomocí tlačítek + v sekcích Hromadné žaloby a třída prodejen přidat do naší třídy CalcController jeden vývod Se jménem text, nastavením jeho třídy na NSTextField a následujícími metodami - (část Hromadné žaloby) - úkon:, digitální:, Průhledná: a vymazat vše:.

První z těchto metod ( úkon:) bude voláno po stisknutí tlačítka odpovídající některé aritmetické operaci. Metoda digitální: bude voláno po stisknutí libovolného číselného tlačítka, přiřazení metod Průhledná: a vymazat vše: je jasné z nadpisu.

Poté, co jsme nastavili co vývod"a metody, které potřebujeme, pomocí příkazu menu Soubor/zápis souborů třídy... vytvoříme soubory CalcController.h a CalcController.m.

Obrázek 15. Vytváření souborů pro třídu CalcController.

Zobrazí se dialogové okno s výzvou k určení, že oba soubory je třeba okamžitě vytvořit a přidat do projektu Kalkulačka.

Obr 16. Přidání vytvořených souborů do projektu.

Poté se vrátíme k xcode a ujistěte se, že soubory CalcController.ha CalcController.m jsou skutečně přidány do projektu.

Otevřeme soubor CalcController.h – k tomu můžete soubor otevřít buď jediným kliknutím myši na něj ve spodní části okna projektu (obr. 17), nebo dvojklikem soubor otevřít v samostatném okně .

Obr. 17. Okno projektu s otevřít soubor CalcController.h.

Všimněte si, že obsahuje soubor CalcController.h Plný popis třídy CalcController, jak jsme ji definovali Tvůrce rozhraní"E.

Upravme soubor CalcController.h, jak je znázorněno v následujícím seznamu.

V tomto vláknu vám ukážu, jak napsat jednoduchou aplikaci pro iPhone pomocí oficiální sady SDK. Je snadné jej získat, vše, co potřebujete, je:
1. Mac s procesorem Intel (i když funguje také na PowerPC, ale po určitých gestech)
2. iPhone SDK. Budu zveřejňovat beta 2. Nejnovější verzi získáte po registraci na developer.apple.com. Beta 2 lze nalézt na torrentech

Ahoj Habr

abychom Moskvu moc nenamáhali, uděláme to nejjednodušší: aplikace zobrazí pouze logo habr. Otevřete XCode (vyžadováno v 32 bit režim) a vytvořte novou aplikaci Cocoa Touch:

nazvěme to HelloHabr a uložme si to na plochu.

Průvodce vytvořením projektu to již provedl za nás. Podívejme se na obsah main.m:
#import

int main(int argc, char *argv)
{
NSAutoreleasePool *pool=[init];
// protože iPhone neumí používat garbage collection, používáme pro usnadnění života fond autorease
int retVal = UIApplicationMain(argc, argv, nil, @"HelloHabrAppDelegate");
//pro spuštění aplikace je třeba zavolat tuto funkci. @"HelloHabrAppDelegate" - třída, do které bude ovládací prvek přenesen
;
návratová retVal;
}

Nyní se podívejme na HelloHabrAppDelegate.h:
#import

A na HelloHabrAppDelegate.m:
#import "HelloHabrAppDelegate.h"
#import "MyView.h"

@implementation HelloHabrAppDelegate
//tyto direktivy znamenají, že při kompilaci místo přístupu přes. zadejte getter "s and setters"
syntetizovat okno;
syntetizovat contentView;

//funkce delegovaná z UIApplication
- (void)applicationDidFinishLaunching:(UIApplication *)application (
// Vytvoří hlavní okno
self.window = [[ initWithFrame:[ bounds]] autorease];
// vytvoření contentView
self.contentView = [[ initWithFrame:[ applicationFrame]] autorease];
//přidejte náš contentntView do hlavního okna, aby se zobrazil
;
// zviditelní hlavní okno
;
}

- (void)dealloc(;
;
;
}

Malá matematická část je hotová, můžeme začít psát aplikaci. Logo habr uložíme do složky aplikace. Poté jej přetáhněte ze složky do složky Resources našeho projektu v okně Xcode:

Nyní do třídy MyView přidáme nové pole „habrView“ typu „UIImageView *“, tzn. MyView.h bude vypadat takto:
#import

Nyní definujeme procedury init a dealloc ve třídě MyView:
#import "MyView.h"

@implementationMyView
- (id) initWithFrame:(CGRect)frame (if(self = ) (
//barva pozadí - černá
];
//vytvoří nový objekt s obrázkem loga Habr
UIImage *image = ;
//vytvoří komponentu, která zobrazí logo
self->habrView = [ initWithFrame:CGRectMake(0, 0, .width, .height)];
;
];

;
//do formuláře přidáme komponentu zobrazení loga habr
;
}
vrátit se;
}

- (void) dealloc(;
;
}
konec

Všechno. Zkompilujeme, spustíme a získáme, co jsme chtěli:

A nyní metoda tvorby aplikací pro lenochy. Dashcode je schopen vytvářet webové aplikace pro iPhone a iPod Touch. Otevřete Dashcode a vyberte RSS jako prázdné místo. Přejděte na kartu Atributy stránky, nastavte Název stránky: "Harbrahabr RSS", URL zdroje: "feed://habrahabr.ru/rss/main/". Poté přejděte na kartu „Harbrahabr RSS“ (otevře se návrhář) a změňte nápis „My RSS Feed“ na „Habrahabr RSS Feed“:

Klikněte na Spustit a získejte Habrovu RSS čtečku:

V podstatě všechno. Zpětná vazba, přání, návrhy čekají v komentářích

Aktualizace: mírně opraveno formátování, kód se čte lépe, ale zdaleka ne ideální

Swift je robustní a intuitivní srozumitelný jazyk programovací software od Apple, se kterým můžete vytvářet aplikace pro iOS, Mac, Apple TV a Apple Watch. Poskytuje vývojářům nebývalou tvůrčí svobodu. Díky tomuto jednoduchému a pohodlnému open source jazyku je to pro vás docela snadné zajímavý nápad vytvořit něco neuvěřitelného.

Vývojáři již používají
úžasné vlastnosti Swift.

Swift je rychlý a efektivní jazyk programování s odezvou v reálném čase, do kterého lze snadno vložit hotový kód Cíl-C. Nyní mohou vývojáři nejen psát spolehlivější a bezpečné kódy, ale také ušetříte čas a vytvoříte bohaté aplikace.

Skvělá aplikace ve Swiftu. Snadné použití a odezva v reálném čase jsou důvodem, proč si společnost VSCO vybrala pro stavbu Swift nová verze vaše foto aplikace pro iOS.

skvělé aplikace,
vyvinuté v jazyce Swift.

Stále více vývojářů vkládá kód Swift do svých aplikací. A někteří dokonce ve Swiftu vytvářejí zcela nové aplikace.

Duolingo Khan
Průvodce Akademie Clear Sky

Zplodit Kickstarter Eventbrite Hipmunk

Produktivita je vyšší. Aplikace jsou lepší.

Rychlé aplikace předčí očekávání. Například obvyklý vyhledávací algoritmus je ve Swift mnohem rychlejší.

Až do 2.6 časy rychlejší než Objective-C

Až do 8.4 časy rychlejší než v Pythonu 2.7

10 000 celých čísel nalezených v grafu pomocí hloubkového vyhledávacího algoritmu*

Byl přidán rychlý jazyk
do osnov.

Nejen vývojáři ocenili potenciál jazyka Swift. Univerzity a další vzdělávací instituce vyučují Swift v kurzech programování a publikují kurzy zdarma na iTunes U. To znamená, že i začátečníci mohou snadno přejít od základního kódování ke kódování na profesionální úrovni.

Univerzity, které zařadily Swift do svých osnov

  • UC Santa Cruz
  • Foothill College
  • Královská technická univerzita v Melbourne
  • Technická univerzita v Mnichově
  • Lawson Community College
  • Manhattan Community College
  • Mesa Community College
  • Houston Community College
  • Central Piedmont Community College
  • Plymouthská univerzita
  • Kalifornská polytechnická univerzita
  • Stanfordská Univerzita
  • Northwest Kansas Technical College
  • Monterrey Institute of Technology
  • Aberystwyth University
  • Univerzita Full Sail
  • Škola Ingésup
  • Jižní metodistická univerzita

Swift je všude.
A nyní je otevřena pro všechny.

Swift je volně dostupný pro použití vývojáři, pedagogy a studenty pod open source licencí Apache 2.0. Poskytujeme binární soubory OS X a Linux, které vám umožňují kompilovat kód pro iOS, OS X, watchOS, tvOS a Linux. A abychom urychlili vývoj a vývoj Swiftu do ještě výkonnějšího jazyka, vytvořili jsme novou komunitu, kde mohou uživatelé přímo přispívat zdroj Rychlý.

Seznamte se se Swiftem.

hlavní kniha

Stáhněte si tutoriál Swift programovací jazyk z Apple Books Store zdarma. Zjistěte, jak Swift usnadňuje programování, je flexibilnější a zábavnější.

xcode

Xcode je aplikace pro Mac pro vývoj dalších aplikací pro Mac a iOS. Xcode má všechny nástroje, které potřebujete k vytváření úžasných aplikací. Lze jej zdarma stáhnout z Mac App Store.

Web pro vývojáře

Získejte podrobné informace technické informace a odhlásit se kompletní přehled Svižný jazyk. Podívejte se na vývojářský blog, kde budete mít aktuální informace poslední zprávy. Máte také volný přístup na skvělé zdroje: výukové programy, videa a příklady kódu.