2010-10-17 3 views
5

Кто-нибудь знает, как я могу объявить статический метод для класса xcode, а затем использовать его в моем проекте?xCode/Объявление статических методов в классе

Я хочу создать класс common.h, а затем сделать что-то подобное в одном из .m файл

Common.MyStaticMethod();

Я не хочу, чтобы создать экземпляр и экземпляр Common

ответ

19

Вы объявляете метод уровня класса в Objective-C с помощью «+» перед объявлением метода.

 
// in Common.h 
+ (void)myStaticMethod; 

// call is from anywhere 
[Common myStaticMethod] 

То есть, «-», прежде чем объявление метода означает методы экземпляра и «+» означает, что метод уровня класса, которые не связаны с какой-либо конкретного экземпляра класса.

+1

Методы класса не являются статическими в Objective-C; они решаются динамически так же, как методы экземпляра. Объект-C эквивалент статического метода - это функция C, а не метод класса. – jlehr

+1

Ya, класс также является объектом в obj-c. Вот почему в моем ответе я указал их как метод класса, а не статический метод. По-моему, это то, чего хочет Виласак. – taskinoor