Module: Module
- Defined in:
- lib/konjure/define_method.rb
Instance Method Summary collapse
-
#define_method(name, &block) ⇒ Object
Overwrite the existing useless implementation.
- #objc_define_method(name, *types, &block) ⇒ Object
Instance Method Details
#define_method(name, &block) ⇒ Object
Overwrite the existing useless implementation
4 5 6 7 8 9 |
# File 'lib/konjure/define_method.rb', line 4 def define_method(name, &block) raise ArgumentError, 'Block required' if block.nil? signature = Konjure::objc_parameter_signature(block) objc_define_method(name, :object, signature, &block) end |
#objc_define_method(name, *types, &block) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/konjure/define_method.rb', line 11 def objc_define_method(name, *types, &block) return_type, *parameter_types = Konjure::encode_objc_types(types) return_type ||= '@' parameter_types.join('') signature = "#{return_type}@:#{parameter_types}" class_replaceMethod(self, name.to_sym, block, signature.UTF8String) block end |