Objective-C で instancetype を使用することに混乱しています。
コード:
@interface MyClass : NSObject
-(instancetype)initWithOwner:(NSString*)anOwner;
@property (nonatomic, strong) NSString* owner;
@end
@interface MyChildClass : MyClass
-(instancetype)init;
@property (nonatomic, strong) NSString* myString;
@end
次に、これを実行できます
MyChildClass* myChildObject = [[MyChildClass alloc] initWithOwner:@"owner"];
これが MyClass ではなく MyChildClass を返すのはなぜですか ???
MyChildClass 初期化メソッドではなく、スーパークラスの初期化メソッドを使用しているという警告またはエラー メッセージがコンパイラに表示されないのはなぜですか ???
これはどこで使用できますか???