2014-11-09 2 views
0

В строке таблицы нажмите I ссылки на ячейку, чтобы представить контроллер представления (выбрать из списка изображений)В 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 
+0

Типичный .. отредактировал его через несколько минут. В основном вы устанавливаете делегат = self из View1 и вызываете метод делегата из View2. – MikeW

ответ

0

Я хотел бы предложить, обеспечивая ваш 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 в родительском контроллере, она будет называться со ссылкой на контроллере представления коллекции. Используя это, вы можете захватить любую информацию, которая вам нужна, прежде чем она получит сбор мусора.