Оставайся со мной. У меня проблемы со зрением, я никогда раньше не пользовался этим сайтом и, вероятно, не буду публиковать его в том формате, к которому вы все привыкли. Я прошу прощения за любые непреднамеренные ложные обвинения здесь.
Использование Objective-C в проекте iOS…
У меня есть одноэлементный класс, настроенный, как кажется, обычным способом для Objective-C. В основном это серия методов, которые принимают значения NSString, интерпретируют их и возвращают что-то еще. В приведенном ниже коде я упрощаю вещи до минимума, чтобы подчеркнуть проблему, с которой я столкнулся.
Из класса одиночных игр:
- (NSUInteger) assignControlState:(NSString *)state {
// excerpted for clarity...
return UIControlStateNormal; // an example of what might be returned
}
Теперь экземпляр другого класса пытается использовать этот метод следующим образом:
- (void) buttonSetup:(UIButton*)button {
[button setTitle:@"something" forState:[[SingletonClass accessToInstance] assignControlState:@"normal"]];
}
Этот код действительно работает. Однако, когда система переходит к рисованию интерфейса пользователя, который включает кнопку, заголовок которой был установлен таким образом, возникает ошибка EXC_BAD_ACCESS.
Если метод assignControlState перемещен в тот же класс, что и метод buttonSetup, ошибка не генерируется.
Полагаю, это что-то в управлении памятью от Apple, которое я не совсем понимаю, и как дела выходят и выходят за рамки, но ради жизни я не могу понять, куда иду неправильно.
Надеюсь, кто-то может помочь. Спасибо.