В Rubymotion как получить коллбэк с контроллера уволенного вида
В строке таблицы нажмите ссылку на ячейку, чтобы представить контроллер представления (чтобы выбрать из списка изображений)
def open_selector
view_b = ImagesController.new #using rmq hence .new
@@cell.superview.superview.controller.presentViewController view_b, animated:true, completion:nil
end
Внутри контроллера изображений - я уволил, когда закончил выбор - но как я могу сообщить, что ячейка была закрыта?
def collectionView(view, didSelectItemAtIndexPath: index_path)
self.dismissViewControllerAnimated(true, completion: lambda{})
end
1 ответ
Я бы предложил UICollectionViewController
делегат, чтобы он мог перезвонить сам. Так:
class MyCollectionViewController < UICollectionViewController
attr_writer :parent_controller
# ...
def collectionView(view, didSelectItemAtIndexPath: index_path)
self.dismissViewControllerAnimated(true,
completion: lambda{
@parent_controller.collection_did_close(self)
})
end
Предполагая, у вас есть метод с именем collection_did_close
в родительском контроллере он будет вызываться со ссылкой на контроллер представления коллекции. Используя это, вы можете получить всю необходимую информацию, прежде чем она будет собирать мусор.