次のクラス宣言の違いは何ですか..
@interface RotatableViewController : UISplitViewController
@interface RotatableViewController : UIViewController<UISplitViewControllerDelegate>
とても初歩的な質問ですが、iOSを勉強中...
次のクラス宣言の違いは何ですか..
@interface RotatableViewController : UISplitViewController
@interface RotatableViewController : UIViewController<UISplitViewControllerDelegate>
とても初歩的な質問ですが、iOSを勉強中...
@interface RotatableViewController : UISplitViewController
ここで、 RotatableViewController は UISplitViewController を拡張します。つまり、あなたの RotatableViewController は UISplitViewController ができることを行うことができます。
UISplitViewController は UIViewController のサブクラスであるため、クラスは UIViewController からも自動的に継承されます。したがって、UIViewController が実行できることも実行できます。
@interface RotatableViewController : UIViewController
このようにして、クラスは UIViewController クラスから継承されます。
@interface RotatableViewController : UIViewController<UISplitViewControllerDelegate>
これは、クラスがサブクラスであり、UIViewController のサブクラスであり、UISplitViewControllerDelegateプロトコルで定義された関数も実装していることを意味します。
これが何のために必要なのかを知るために、Objective-C のDelegation Patternについて読むことを強くお勧めします。
RotatableViewController
から継承するという名前のクラスを宣言しUISplitViewController
ます。
@interface RotatableViewController : UISplitViewController
RotatableViewController
から継承しUIViewController
、 内の必要なメソッドに実装することを約束するという名前のクラスを宣言しますUISplitViewControllerDelegate
。
@interface RotatableViewController : UIViewController <UISplitViewControllerDelegate>