在Rubymotion中如何从被解雇的视图控制器获取回调

时间:2014-11-09 02:52:31

标签: rubymotion formotion

在表格行上单击我引用单元格以显示视图控制器(从图像列表中选择)

  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 个答案:

答案 0 :(得分: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的方法,它将通过对集合视图控制器的引用进行调用。使用它,您可以在收集垃圾之前从中获取所需的任何信息。