XCode 4: ошибка во время выполнения «нераспознанный селектор отправлен на экземпляр» - PullRequest
0 голосов
/ 27 апреля 2011

Я разрабатываю статическую библиотеку и создаю свой lib.a.

Когда я использую эту библиотеку в проекте iOS (приложение для iPhone, созданное с флагами -ObjC и -all_load для компоновщика), я получаю эту ошибку ввремя выполнения:

unrecognized selector sent to instance

Эта ошибка возникает, когда я пытаюсь вызвать метод класса.

+ (MyObject *) GetSingleton;

Для информации, я не получаю сообщение об ошибке при вызове метода экземпляра.

- (void) Log;

У вас есть представление о проблеме?

Ответы [ 2 ]

0 голосов
/ 28 апреля 2011

Хм, я исправил проблему, воссоздавая мой проект!

Я не знаю почему, мой проект плохо связался с методом класса, а не с методом экземпляра.

Сейчас, с новым проектом и связью с моей статической библиотекой, все нормально во время выполнения.

Возможно, это была проблема из-за множества статических библиотек, которые я создал, с, вероятно, плохим кешем или зависимостями ...

Спасибо разработчикам за ваши ответы!

0 голосов
/ 27 апреля 2011

Когда вы создаете свой синглтон, попробуйте это:

+ (MyObject *)GetSingleton {
    static MyObject* singletonInstance; 

    @synchronized(self) {
        if (!singletonInstance)
            singletonInstance = [[MyObject alloc] init]; 
    }

    return singletonInstance;
}

Надеюсь, это поможет.

...