2010-06-08 4 views
1

Я знаком (или, по крайней мере, знакомясь) с методами экземпляра и класса в Objective-C, но также видели метод реализации, которые выглядят следующим образом:Различные типы методов?

#import "Utilities.h" 
#import "CHAPPAppDelegate.h" 
#import "AppState.h" 

@implementation Utilities 

CHAPPAppDelegate* GetAppDelegate() { 
    return (CHAPPAppDelegate *)[UIApplication sharedApplication].delegate; 
} 

AppState* GetAppState() { 
    return [GetAppDelegate() appState]; 
} 

@end 

Что это? Хотя я уверен, что это где-то зарегистрировано, я не знаю, какой термин использовать в поиске объяснения того, что делается здесь. Мне нравятся такие синтаксические методы, как это, позвольте мне использовать их при вызове, но я точно не знаю, что я делаю, каковы последствия, как отправлять параметры этим типам функций и т. Д.?

+0

Вы читаете http://developer.apple.com/mac/library/documentation/cocoa/conceptual/objectivec/Articles/ocObjectsClasses.html#//apple_ref/doc/uid/TP30001163-CH11-SW1 – Akusete

ответ

1

Это не методы вообще. Это просто функции, exactly like in normal C. Они не являются частью класса. Тело функций записано в Objective-C (то есть функции отправляют сообщения объектам), но сами функции полностью не зависят от объектов и Objective-C.

2

Это c-функции, которые обертывают функции объектива-c.

Смежные вопросы