Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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 从目标C中的超类调用子类方法_Iphone_Objective C_Subclass_Superclass_Function Calls - Fatal编程技术网

Iphone 从目标C中的超类调用子类方法

Iphone 从目标C中的超类调用子类方法,iphone,objective-c,subclass,superclass,function-calls,Iphone,Objective C,Subclass,Superclass,Function Calls,我的原始问题id 事实上,我需要更多关于这个问题的澄清 考虑以下场景: 在我的项目中有三个类。比如说A、B和C 这三个类有一些常用的方法。所以我创建了另一个类(比如D),在其中,我添加了这些常用方法 现在,D类是父类,A、B和C类是子类。也就是说,类A、B和C继承了D的属性 我为每个孩子班准备了三个UIButton。每个子类中的每个按钮都有一些操作。但是按钮的属性,如颜色、边框、图像在这三个类中都是相同的 因此,我需要对每个子类中的按钮执行以下操作: 启动按钮 分配给他们 定格 定色 为Con

我的原始问题id

事实上,我需要更多关于这个问题的澄清

考虑以下场景:

在我的项目中有三个类。比如说A、B和C

这三个类有一些常用的方法。所以我创建了另一个类(比如D),在其中,我添加了这些常用方法

现在,D类是父类,A、B和C类是子类。也就是说,类A、B和C继承了D的属性

我为每个孩子班准备了三个UIButton。每个子类中的每个按钮都有一些操作。但是按钮的属性,如颜色、边框、图像在这三个类中都是相同的

因此,我需要对每个子类中的按钮执行以下操作:

  • 启动按钮
  • 分配给他们
  • 定格
  • 定色
  • 为ControlEvents:UIControlEventTouchUpInside设置操作(使用
    [按钮添加目标:自我操作:@选择器(touchUpInsideAction:)
除了“设置动作”,所有子类(A类、B类和C类)中的所有动作都是相同的

现在我的问题是,我可以在类D(父类)中创建按钮、其属性和操作吗?我可以在每个子类(类A、B和C)中编写操作方法的(
touchUpInsideAction:
)实现吗

因此,我可以减少项目中的重复代码。在这里,我将从父类调用子类的方法
touchupineaction:

这是正确的方法还是应该分别为每个类编写按钮创建和属性


提前感谢

,因为我理解D类应该有一个按钮,用于设置所有公共属性和操作方法 . 如果您希望每个类具有不同的功能,那么子类应该负责处理该操作


假设您已经将目标self和选择器添加到super类中的按钮中。您已经创建了A、B或C的对象。Super类(D)中按钮的目标是self。Self是对象的表示,因此Self将指a类、B类或c类的对象

在类D中创建一个类方法。在该方法中设置所有按钮属性。 从子类调用class方法,比如说A.class方法将返回UIButton类型的对象。
指定选择器,然后将该对象添加到视图中。

与其在类D中指定动作,不如从普通类(如类D)中获取按钮,然后在每个类(如类a)中指定动作?