Objective-C使用“类别”接口向现有类添加新方法:
@interface ClassName (CategoryName)
@end
添加“hello”方法的示例:
@interface XYZPerson (HelloWorld)
- (NSString *)hello;
@end
RubyMotion没有“类别”,也没有相同的接口。
RubyMotion代码如何提供类似的功能?
答案 0 :(得分:1)
RubyMotion具有类似的功能。
使用典型的Ruby重新打开一个类来添加方法:
class XYZPerson
def hello
# return a string
end
end
如果您希望模块化代码,或者在多个地方使用相同的代码,您可以使用Ruby模块:
module Hello
def hello
# return a string
end
end
class XYZPerson
include Hello
end
请注意RubyMotion文件加载顺序很重要。例如,如果您多次定义同一方法,则新定义将覆盖旧定义。