середа, 21 вересня 2011 р.

Objective-c та @"Вивід в лог"



Перед тим, як перейти до чогось нового, пропоную Вашій увазі книжечку, яка видніється зліва. Якщо в програмуванні Ви не можете відрізнить:++і; від i++;, то ця книга стане в пригоді (є переклад російською мовою). Не треба сильно лякатись слова "Xcoder", так iPhone application  Ви не напишете, але деякі ази зможете відчуть.
А щоб показати, що і без Xcoder можна щось написати, наступний приклад. Наперед маю сказати, що коли я це виробляв на роботі, а мій директор побачив, то його фраза мене "убила", ні Він не кричав чи гнівався (слава Богу людина адекватна), він сказав :- "А пан знає толк в збоченні". І багато з Вас теж би так подумалиПотім в нас іде вивід та очищення всих забутих і не очищених об"єктів. б, по причині того, що зліва стоїть ноут з "Ubuntu", де я в текстовому редакторі набираю "бидло код", а з права MacBook з запущеним Xcder(ом).
Спочатку слід запустити SciTE, створити файл з розширенням .m потім 
натиснуть F8 і вписать:

 . /usr/share/GNUstep/Makefiles/GNUstep.sh
 Далі вкидуємо код :


#import <Foundation/Foundation.h> 
int main (int argc, const char * argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSString *foo, *bar;
    foo = @"ubuntu!";
    bar = [foo uppercaseString];
    NSLog(@"%@ now upper %@", foo, bar);
    [pool release];
    return 0;
}
Після чого залишається тільки запустити :
gcc `gnustep-config --objc-flags` -lgnustep-base print.m -o dryk
І написати:
./dryk 

Розглянемо більш детелаьно деякі частини коду:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
В цій стрічці ми створюємо певного прибиральника, який за нас прибере об"єкти, які ми забудемо або просто не очистимо.
Детальніше:
 http://cocoalate.blogspot.com/2007/06/nsautoreleasepool.html
 NSString *foo, *bar; - створюємо два вказівники на об"єкти типу NSString. Слід бути дуже уважним, так як ми створюємо не об"єкти а вказівники. 
  foo = @"ubuntu!"; - ініціалізація.
 Дуже цікава наступна стрічка:
bar = [foo uppercaseString];- в правій частині ми посилаємо ОБ"ЄКТУ повідомлення (дивитись попередні статті[викликаємо метод, який треанспонує всі символи строки в символи верхнього регістру]) 
Потім в нас іде вивід та очищення всих забутих і не звільнених об"єктів.
===============================================================
далі буде ... Крокуєм разом і вперед  на горизонті в нас об'єкт

Немає коментарів:

Дописати коментар