我有一个函数,我希望返回不同的类型
-(UIButton *)returnObject1 ;
{
//dosomething
return aUIButton;
}
-(UIView *)returnObject2 ;
{
//dosomething
return aUIView;
}
我希望将两个函数合并为一个并返回不同的NSObject(UIButton,UIView) 有可能吗?
欢迎任何评论
答案 0 :(得分:0)
你可以简单地创建自己的自定义对象,其中包含两个并返回一个
编辑:我知道OP想要返回2个对象。这个答案只适用于那种情况。
答案 1 :(得分:0)
以下是您想要的示例:
-(id)returnObject:(int)type
{
if (type == 1)
return aUIButton;
else if (type == 2)
return aUIView;
return nil;
}
答案 2 :(得分:0)
只是不要声明一个返回类型。改为将其改为:
- (id)returnObject
{
if (something) {
return aUIButton;
}
return aUIView;
}
但是...... UIButton
是UIView
的子类,这意味着你可以这样做:
- (UIView *)returnObject
{
if (something) {
return aUIButton;
}
return aUIView;
}
请注意,在objective-c中,方法的返回类型在执行代码时完全无关紧要。完整的目的是通知编译器您的代码期望什么,以便它可以避免崩溃。因此,在可能的情况下指定返回类型是个好主意,但不是必需的。