Чтобы отделить действия от делегата приложения, я переместил их в модули соответствующих контроллеров и включил модули в AppDelegate.Динамически определяющие методы, называемые Objective-C с RubyMotion
Однако сначала я попытался определить действия для каждого контроллера в хеше и использовать define_method
для динамического создания методов. Это дало мне ошибку method '<action>:' created by attr_reader/writer or define_method cannot be called from Objective-C. Please manually define the method instead (using the 'def' keyword).
По сравнению с define_method
, включая модули, не очень эффективные с RubyMotion. Для этой ситуации производительность не так важна, но есть ли другой способ создания методов «на лету», которые можно вызвать из Objective-C?
Можете ли вы разместить пример кода? – FluffyJack
Вы можете попробовать использовать хэш с лямбдами и вызвать эти лямбды. – kixorz