Первая ситуация:
В программе Objective C реализован написанный на C ++ движок.iPhone Xcode, чтобы быть точным.Он использует OpenGL, чтобы нарисовать все.У него есть метод renderFrame, который вызывается каждый кадр (примерно 50 раз в секунду).У пользователя есть много кнопок, которые перемещаются к другим представлениям Objective C.Эти кнопки нарисованы и обработаны в движке C ++.Когда пользователь нажимает один из них, механизм C ++ отправляет вызов программе, которую нажимают на кнопку (чтобы программа могла изменять представления).
Мой способ заставить эту работу:
Поскольку существуетметод renderFrame, я сделал так, чтобы каждый раз возвращать целочисленное значение.В большинстве случаев это 0. Но когда он возвращает что-то еще, это имеет значение.Например, если «renderFrame» возвращает 2, это означает, что нажата вторая кнопка.Чтобы обработать все эти возвращаемые значения, я должен построить довольно большой кусок IF.
Так что мой вопрос:
Поскольку я - молодой программист, я хочу знать, является ли это хорошим подходом или это так?что-то, что может придумать только младший.Этот движок будет перенесен на многие другие системы, включая Android и даже ПК, поэтому я не знаю, смогу ли я и должен ли я внедрить систему обратного вызова другого типа.Я также хотел бы знать, может ли это вызвать у меня проблемы с производительностью и каков будет более профессиональный подход.
PS На данный момент я реализовал более 20 таких обратных вызовов, и все работает просто отлично.Я могу реагировать мгновенно и точно на каждый кадр.
Спасибо за ваши предложения.