• Nie Znaleziono Wyników

Najważniejsze symbole / operatory

N/A
N/A
Protected

Academic year: 2021

Share "Najważniejsze symbole / operatory"

Copied!
22
0
0

Pełen tekst

(1)

Programowanie w języku

Objective C

(wprowadzenie)

Warsztaty Programowania Urządzeń Mobilnych

dr Marek Piasecki

(2)

Najważniejsze symbole / operatory

*.h *.m

H

eader file, Method / iMplementation file

[ ] Wywołanie metody obiektu → wysłanie komunikatu

np. [gun fire]; (C/C++)→ gun->fire();

@ Definiowanie elementów Objective C

np. Stała tekstowa NSString: @”Dzień dobry”

NS……… NeXTStep OS

NSObject Klasa bazowa wszystkich klas NS…… ( Java → Object )

id Wskaźnik na obiekt klasy NS…… ( C/C++ → void* ) nil

NULL

(id) 0 ← identyfikator nieistniejącego obiektu (void*) 0

(3)

Najważniejsze symbole / operatory

#import ”…..”

#import <…..>

~ #include ”…..”

~ #include <…..>

BOOL, YES, NO ~ bool, true, false

NSLog(@”….”, … ); ~ printf( ”…”, … );

alloc dealloc

- metoda alokująca pamięć (pierwsza faza konstrukcji)

- destruktor

init, initWith… metoda inicjalizująca pamięć (druga faza konstrukcji) retain

release

powiększa licznik referencji ( retainCount ++ ) pomniejsza licznik referencji ( retainCount --) strong

weak

- właściciel obiektu (blokuje zwolnienie obiektu przez innych)

- użytkownik obiektu (nie blokuje, od iOS5 automatycznie zerowany)

(4)

„Hello world !”

(5)

Definiowanie interfejsu nowej klasy

(6)

Definiowanie implementacji nowej klasy

(7)

Wykorzystanie nowej klasy Fraction

(8)

Metody z wieloma parametrami

(9)

Wykorzystanie metody wieloparametrowej

(10)

Konstruktory ( init, initWith… )

(11)

Wykorzystanie konstruktorów

(12)

Modyfikator Zasięg

@private atrybut widoczny jedynie dla metod klasy, która go zadeklarowała

@protected Atrybut widoczny dla metod klasy, która go zadeklarowała, oraz dla klas potomnych (dziedziczących)

@public atrybut publiczny, widoczny bez ograniczeń

@package zasięg pakietowy, widoczny w pakiecie/module/pliku w którym jest zdefiniowana implementacja klasy

Modyfikatory widoczności składowych

(13)

Modyfikatory widoczności (2)

(14)

Testowanie widoczności zmiennych

(15)

Metody instancji ↔ ↔ ↔ ↔ Metody klasy

(16)

Wykorzystanie metod klasy ClassA

(17)

Dziedziczenie: Rectangle → → → → NSObject

(18)

Dziedziczenie: Rectangle → → → → NSObject

(19)

Dziedziczenie: Square → → → → Rectangle → → → →

(20)

Typy dynamiczne (introspekcja)

(BOOL) isKindOfClass: classObj is object a descendent or member of classObj

-(BOOL) isMemberOfClass: classObj

is object a member of classObj

-(BOOL) respondsToSelector: selector does the object have a method named by the selector

+(BOOL) instancesRespondToSelector:

selector

does an object created by this class have the ability to respond

to the specified selector

-(id) performSelector: selector invoke the specified selector on the object

(21)
(22)

Fundation Framework Classes

• NSObject

• NSString, NSMutableString

• NSArray, NSMutableArray

• NSDictionary, NSMutableDictionary

• NSSet, NSMutableSet, NSOrderedSet

• NSNumber

• NSValue

• NSData

Cytaty

Powiązane dokumenty

Wybierajcie więc życie, abyście żyli wy i wasze potomstwo, 20 miłując Pana, Boga swego, słuchając Jego głosu, lgnąc do Niego; bo tu jest twoje życie i długie

W tym wierszu nie ma głównego bohatera, więc wybierz warzywo, które Ci się najbardziej spodobało i uzupełnij metryczkę oraz pokoloruj drzewo i narysuj pod nim flagę Polski.. W

 fonetyki – zna alfabet, wyjaśnia różnicę między głoską a literą, dzieli wyrazy na głoski, litery i sylaby, dzieli głoski na twarde i miękkie, dźwięczne i

Ocena uwzględnia wysiłek wkładany przez ucznia w wywiązywanie się z obowiązków wynikających ze specyfiki tych zajęć... (dopuszczający)  słabo zna słowa i

Ocena uwzględnia wysiłek wkładany przez ucznia w wywiązywanie się z obowiązków wynikających ze specyfiki tych zajęć..  nie potrafi kulturalnie zachować się podczas

Proszę o zapoznanie się z zagadnieniami i materiałami, które znajdują się w zamieszczonych poniżej linkach. Układy

Proszę obejrzeć filmy instruktażowe pod podanymi linkami, zrobić na ich podstawie notatkę i przesłać ją na adres: ckzdariuszryl@gmail.com – Termin nadesłania prac

Proszę przeczytać odpowiednie tematy z podręcznika ,,Montaż systemów suchej zabudowy” pod podanym linkiem, zrobić na ich podstawie notatkę i przesłać ją na