Objective C Helper方法

Nat*_*all 2 inheritance objective-c

新手在这里试图了解继承.如果我初始化一个具有多个属性的新对象,并且我希望其他类帮助为这些属性赋值,那么我是否需要创建其他类的实例?可视化:

-(ObjA *)init{
    self = [super init];
    self.property1 = [method from Class A];
    self.property2 = [method from Class B];
    self.property3 = [method from Class C]; etc...
    return self;
 }
Run Code Online (Sandbox Code Playgroud)

换句话说,假设A,B和C类需要知道对象A是什么,我是否需要制作那些类方法实例方法并初始化每个对象?还有另一种方法可以解决这个问题吗?预先感谢您的帮助.

Ano*_*dya 6

换句话说,假设A,B和C类需要知道对象A是什么

.


您可以简单地从ClassA/B/C等调用方法.但返回类型必须与各自匹配property.

让,那property1NSString你的ClassA方法必须

-(NSString *)methodClassA{
   ...
   return someStringValue;
}
Run Code Online (Sandbox Code Playgroud)

然后你需要使用:

ClassA *objClassA=[ClassA new];
self.property1=[objClassA methodClassA];
Run Code Online (Sandbox Code Playgroud)

或者您可以通过以下方法使用类方法:

+(NSString *)methodClassA{
   ...
   return someStringValue;
}
Run Code Online (Sandbox Code Playgroud)

并将其用作:

self.property1=[ClassA methodClassA];
Run Code Online (Sandbox Code Playgroud)