Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何将一个obj c类的方法调用到另一个obj c类中_Iphone_Objective C_Oop_Inheritance - Fatal编程技术网

Iphone 如何将一个obj c类的方法调用到另一个obj c类中

Iphone 如何将一个obj c类的方法调用到另一个obj c类中,iphone,objective-c,oop,inheritance,Iphone,Objective C,Oop,Inheritance,我有一个类,其中包含我想在另一个类中使用的方法,我不想再次创建这些方法。 我知道这是个愚蠢的问题,但我从来没有这样做过 谢谢,听起来你应该让第二个类成为第一个类的子类,或者为你的两个类创建一个公共超类听起来你应该让第二个类成为第一个类的子类,或者为你的两个类创建一个公共超类你能解释一下这两个类之间的关系吗?新类是否可以是现有类的子类?两个独立的类确实不能共享实现——一个类不能借用另一个类的实例方法,除非它们之间存在继承关系。你能解释一下这两个类之间的关系吗?新类是否可以是现有类的子类?两个独立的

我有一个类,其中包含我想在另一个类中使用的方法,我不想再次创建这些方法。 我知道这是个愚蠢的问题,但我从来没有这样做过


谢谢,

听起来你应该让第二个类成为第一个类的子类,或者为你的两个类创建一个公共超类

听起来你应该让第二个类成为第一个类的子类,或者为你的两个类创建一个公共超类

你能解释一下这两个类之间的关系吗?新类是否可以是现有类的子类?两个独立的类确实不能共享实现——一个类不能借用另一个类的实例方法,除非它们之间存在继承关系。

你能解释一下这两个类之间的关系吗?新类是否可以是现有类的子类?两个独立的类确实不能共享实现——一个类不能借用另一个类的实例方法,除非它们之间存在继承关系。

您可以使用继承来解决这个问题。在另一个类的声明(在.h文件中)中,您将声明它扩展了ParentClass:

@interface AnotherClass : ParentClass {
    // ...
}

// method declarations for methods that are new in AnotherClass
// methods from ParentClass would be inherited by AnotherClass

@end

您可以使用继承来解决这个问题。在另一个类的声明(在.h文件中)中,您将声明它扩展了ParentClass:

@interface AnotherClass : ParentClass {
    // ...
}

// method declarations for methods that are new in AnotherClass
// methods from ParentClass would be inherited by AnotherClass

@end

这里没有一个正确的答案。很大程度上取决于您的具体情况和对象模型。您可以采取以下几种不同的方法:

1) 创建一个实现要重用的方法的超类。当前需要此函数的每个类都可以扩展这个新的超类

2) 如果功能不是类的一部分,您可能希望创建一个“实用工具”类,每个需要它的类都可以调用它

3) 在某些情况下,可能需要创建一个“类别”来扩展正在细分的类的功能


一般来说,考虑对象模型并确定该功能所属的位置。如果你发现自己经常复制粘贴,这是一个警告信号,你的模型可能有点不对劲。祝你好运

这里没有一个正确的答案。很大程度上取决于您的具体情况和对象模型。您可以采取以下几种不同的方法:

1) 创建一个实现要重用的方法的超类。当前需要此函数的每个类都可以扩展这个新的超类

2) 如果功能不是类的一部分,您可能希望创建一个“实用工具”类,每个需要它的类都可以调用它

3) 在某些情况下,可能需要创建一个“类别”来扩展正在细分的类的功能


一般来说,考虑对象模型并确定该功能所属的位置。如果你发现自己经常复制粘贴,这是一个警告信号,你的模型可能有点不对劲。祝你好运

正如大家所说,你有很多选择,但我们无法确定最佳选择,除非你更详细地描述你的对象及其结构。

正如大家所说,你有很多选择,但是,在您详细描述对象及其结构之前,我们无法确定最好的方法。

您应该可以使用,但在我看来,子类化是一个更好的选择。

您应该可以使用,但在我看来,子类化是一个更好的选择。

我可能会避免使用ObjC运行时,因为这可以通过更简单的实现来实现。我可能会避免使用ObjC运行时,因为这可以通过更简单的实现来实现。