Z racji, że kod mojej gry robi się już bardzo długi chciałbym część funkcji( zwykle funkcje void) umieścić w innym pliku. Czy jest możliwe wykonanie czegoś takiego( jeżeli tak, to byłbym wdzięczny za wyjaśnienie tego rozwiązania)?
Z racji, że kod mojej gry robi się już bardzo długi chciałbym część funkcji( zwykle funkcje void) umieścić w innym pliku. Czy jest możliwe wykonanie czegoś takiego( jeżeli tak, to byłbym wdzięczny za wyjaśnienie tego rozwiązania)?
Komputer: Alu iMac 20" 2.4
Odtwarzacz: iPod Touch
Cosik kombinujesz. Rozumiem, że są to metody obiektów / klas?
Jeżeli tak to możesz użyć mechanizmu Kategorii i rozszerzeń
Komputer: MBA 11.6" i7 1.8GHz 4GB RAM 256GB SSD, iMac 27" i7 2.8GHz 8GB RAM 240 GB SSD + 1 TB HDD
Telefon: iPhone 4
Odtwarzacz: iPhone 4
Tablet: iPad (2012) 4G, iPad WiFi
Moje programy w AppStore:
iOS => Project Planner | Project Planner HD
OSX => Project Planner Viewer
Zgodnie z regulaminem nie udzielam porad poprzez PW - masz pytanie, pytaj na forum.
Nie wiem na ile to poprawne, ale ja sobie w paru programach zrobiłem klasę Funkcje i w niej mam metody klasy, które np. formatowały dane. No i działa mi to poprawnie w paru App Storowych aplikacjach.
Importowałem sobie tą klasę i wykonywałem na niej jej metody klasy np. NSString *DzienMiesiac = [Funkcje zaformatujDate:data jak:1];
Ale ja wychowałem się na BASIC, C (bez znaczków) i asemblerze motoroli 68kWięc pewnie i GO TO wymyślę jak zrobić w ObcC za co puryści wykonają na mnie metodę [JKK zastrzelNaSmierc:YES]
No ale ostatnio doceniłem obiektowość (zwłaszcza w Puzzlach i Sarence), gdzie puzelki i mordki są obiektami tak samo jak dym z lokomotywy i wagony![]()
Ostatnio edytowane przez JKK ; 28.12.2010 o 21:15
Komputer: MacBook C2D 2,16GHz; iBook G3 600
Telefon: iPhone 3GS 16GB White
Tablet: iPad WiFi 32GB
WWW: http://macwyznawca.pl/
MacWyznawca i Apple Fanboy!
Moje programy na iPhone i iPad'a | Na Mac OS: Faqt - Faktury na Mac OS.
Komputer: Alu iMac 20" 2.4
Odtwarzacz: iPod Touch
@JKK - ja preferuję użycieKod:[self addBanTo:JKK for:life];
@betrax - nie rozumiem co nie? Nie kombinujesz, czy nie użyjesz tego mechanizmu?![]()
Komputer: MBA 11.6" i7 1.8GHz 4GB RAM 256GB SSD, iMac 27" i7 2.8GHz 8GB RAM 240 GB SSD + 1 TB HDD
Telefon: iPhone 4
Odtwarzacz: iPhone 4
Tablet: iPad (2012) 4G, iPad WiFi
Moje programy w AppStore:
iOS => Project Planner | Project Planner HD
OSX => Project Planner Viewer
Zgodnie z regulaminem nie udzielam porad poprzez PW - masz pytanie, pytaj na forum.
Nie klas, a są metodami obiektów, klasowe to chyba w objc z "+" na początku.
Co znaczy zwykłe "funkcje co sobie wiszą w klasie"?
Ale ja za bardzo chyba nie rozumiem o co tobie chodzi.
Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
Telefon: iPhone 4 - iOS 5.1.1
Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.
To tak, przykładowy plik .mm:
I teraz chciałbym wyciągnąć funkcję o nazwie "funkcja" i wsadzić ją do innego pliku żeby nie zajmowała miejsca w tym.Kod:#import "IntroScene.h" @implementation IntroScene +(id) scene { CCScene *scene = [CCScene node]; IntroScene *layer = [IntroScene node]; [scene addChild: layer z:-1]; return scene; } -(id) init { if( (self=[super init] )) { } return self; } -(void)funkcja { NSLog(@"Sth"); } - (void) dealloc { [self removeAllChildrenWithCleanup: YES]; [super dealloc]; } @end
Komputer: Alu iMac 20" 2.4
Odtwarzacz: iPod Touch
Dwie sprawy:
1. W objective c nie ma mechanizmu partial class (nie znam polskiego terminu, sorry), więc użycie "kategorii i rozszerzeń" to jedyna metoda
2. Wbrew pozorom pogorszysz sobie czytelność kodu, bo będziesz miał rozrzucony go do wielu plików i ciężko będzie coś znaleźć.
Może lepiej używaj sekwencji makr pragma:
do dzielenia kodu na sekcje i zwijaj kod w nieużywanych sekcjach (szkoda, że nie można zwinąć całej sekcji, jak regionu w .Net)Kod:#pragma mark - #pragma mark Label
Komputer: MBA 11.6" i7 1.8GHz 4GB RAM 256GB SSD, iMac 27" i7 2.8GHz 8GB RAM 240 GB SSD + 1 TB HDD
Telefon: iPhone 4
Odtwarzacz: iPhone 4
Tablet: iPad (2012) 4G, iPad WiFi
Moje programy w AppStore:
iOS => Project Planner | Project Planner HD
OSX => Project Planner Viewer
Zgodnie z regulaminem nie udzielam porad poprzez PW - masz pytanie, pytaj na forum.
Tak w odpowiedzi na post, który był... a teraz nie ma.
Ponieważ jak linijki kodu liczy się już w tys. to praca na tym kodzie robi się trochę trudna i zostaje zwijanie funkcji.
A co do złych założeń to rzeczywiście były bardzo błędne, ale gdybym wiedział to co teraz gdy zaczynałem, to trochę inaczej bym to pisał, ale już następny projekt spróbuje zrealizować jak trzeba.
Dziękuję za pomoc![]()
Ostatnio edytowane przez betrax ; 28.12.2010 o 22:51
Komputer: Alu iMac 20" 2.4
Odtwarzacz: iPod Touch