2

次のクラス宣言の違いは何ですか..

@interface RotatableViewController : UISplitViewController

@interface RotatableViewController : UIViewController<UISplitViewControllerDelegate>

とても初歩的な質問ですが、iOSを勉強中...

4

4 に答える 4

1
@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について読むことを強くお勧めします。

于 2013-05-05T19:10:34.670 に答える
0

RotatableViewControllerから継承するという名前のクラスを宣言しUISplitViewControllerます。

@interface RotatableViewController : UISplitViewController

RotatableViewControllerから継承しUIViewController、 内の必要なメソッドに実装することを約束するという名前のクラスを宣言しますUISplitViewControllerDelegate

@interface RotatableViewController : UIViewController <UISplitViewControllerDelegate>
于 2013-05-05T19:23:59.723 に答える