+ All Categories
Home > Technology > Treinamento i os

Treinamento i os

Date post: 31-Jul-2015
Category:
Upload: pedro-nicholas-de-souza
View: 52 times
Download: 1 times
Share this document with a friend
Popular Tags:
25
Treinamento iOS
Transcript

Treinamento iOS

Agenda

- Manhã (parte 1): Introdução aos conceitos básicos da plataforma e da linguagem Objective-C.

- Manhã (parte 2): Dojo com objective-c para pegar as manhas ;)

- Tarde: Hands On!

Conceitos Básicos: Cocoa Touch

- “The Cocoa Touch frameworks that drive iOS apps share many proven patterns found on the Mac, but were built with a special focus on touch-based interfaces and optimization. “ Redator da Apple

Cocoa Touch - Principais APIs

- Foundation.framework - UIKit.framework- MapKit.framework

Cocoa Touch - Foundation.framework- Base da linguagem(Swift e Obj-C).- Onde fica os tipos primitivos, tipos de

classe, estruturas, coleções… você entendeu.

- Foi projetado para ser pequeno, pensando em portabilidade e facilitar o desenvolvimento através de convenções pré-definidas.

Cocoa Touch - UiKit.framework

- Framework com tudo que você vai usar no dia a dia.

- Sério, tudo mesmo!

Cocoa Touch - MapKit.framework

- Cuida apenas de assuntos relacionados a mapas (como o nome indica).

- Desde colocar um mapa dentro da sua view como fazer reverse-coding pra determinar um endereço

Conceitos Básicos: iOS Design Patterns

- MVC-Centric.- Target-Action.- Delegation.

Conceitos Básicos: Objective C

- “Objective-C is the primary programming language you use when writing software for OS X and iOS. It’s a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. ”

Objective C - Syntax

NSString *name = @"Pedro Souza";

CGRect windowFrame = window.frame;

NSLog(@"Olá %@", name);

[Classe

chamandoMetodoEstatico:param1

nomeDoProximoParam:param2];

[name chamandoMetodoDeInstancia];

Objective C - Classes

// MyClass.h

#import <Foundation/Foundation.h>

#import SomeType.h

@interface CardapioAlimento :

NSObject<AnyProtocol>

@property (strong, nonatomic) NSString

*obj;

@property (weak) CGRect frame;

@property (retain, atomic) SomeType

*obj2;

- (void) metodo:(NSString *)param1;

@end

// MyClass.m

#import MyClass.h

@implementation MyClass

// your shit goes here

@end

Objective C - Classes

- Lista com todos os tipos pro @property- atomic- nonatomic- retain- copy- readonly- readwrite- assign- strong

Objective C - Protocol

- Protocols servem para definir comportamentos esperados por um objeto. (ou seja, uma interface).

- Você pode definir métodos e propriedades que, aqueles que implementarem o protocol, iram incorporar. Eles podem ser obrigatórios ou não.

@interface Cachorro :

NSObject<Animal>

@end

@implementation Cachorro

- (void)beberAgua {

// your code

}

@end

Objective C - Protocol

@protocol Animal

- (void)beberAgua;

@optional

- (void)comerCarne;

- (void)comerPlantas;

@required

- (void)irAoBanheiro;

@end

- São responsáveis por definir métodos de extensão a tipos já definidos.

- Essencialmente, é uma classe que adiciona novos comportamentos a outras classes.

Objective C - Categories

- Uso#import NSString+MVUtils;

[[NSDate now].stringValue

dateFromFormat:@"FORMAT"];

Objective C - Categories

- Definição@interface NSString (MVUtils)

- (NSDate *)dateFromFormat:

(NSString *)format;

@end

@implementation NSString

(MVUtils)

@end

Objective C - Dynamic Runtime- ID type- Distributed Objects- Dynamic setters/getters- Key-Value observing

Conceitos Básicos - Storyboard

- No iOS 6, foi apresentado o conceito de Storyboard.

- Dentro dele, você pode ter Scenes.- Você pode definir a navegação entre essas

cenas utilizando o conceito de Segue.- Você pode customizar as transições criando

seus próprios segues.

Storyboard - Exemplo

Conceitos Básicos: iOS Lifecycle

Conceitos Básicos: Core Data

- CoreData é o framework responsável pela persistência dos dados.

- Possui uma API para mapear objetos, persistir os dados e trabalha com diversos contextos

Core Data: Estrutura

Perguntas ?

DOJO TIME


Recommended