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