malkomalko
9/4/2012 - 10:36 PM

my_view_controller.rb

module ViewTags
  def self.included(base)
    base.extend ClassMethods
  end

  def get_view_with_name(name)
      view.view_with_tag(self.class.getTagFor(name))
  end

  def get_view_in(parent,with_name:name)
      parent.view_with_tag(self.class.get_tag_for(name))
  end

  module ClassMethods
    def has_view(name, with_tag:tag)
        @view_tags ||= {}
        @view_tags[name] = tag
    end

    def get_tag_for(name)
        @view_tags[name]
    end
  end

end
class MyViewController < UIViewController
   include ViewTags

   has_view :date_label, with_tag:1

   def loadView
     views = NSBundle.mainBundle.loadNibNamed "myview", owner:self, options:nil
     self.view = views[0]
   end
    
   def viewDidLoad
     @date_label = get_view(:date_label)
   end
end