1

Objective-C でデリゲートを作成するときは、 delegate: と仮定します。 の型id <DelegateName> delegateは何ですか? delegate実行中po delegeteまたはpo self.delegateLLDB で、期待される結果は何ですか?

であると予想され、そうDelegateNameではなかった場合、どのように手動で変更しますか?

編集:

@protocol NavigationBarDelegate @optional - (void)titleViewClicked:(BOOL)titleClicked; @終わり

poLLDB での出力:

(lldb) po self.delegate
(objc_object *) $1 = 0x073d0840 <UINavigationController: 0x73d0840>

その結果、デリゲートはUINavigationController意図したクラスではなくに送信されています。

4

1 に答える 1

1

タイプは、 Objective-C オブジェクトであれid何でもかまいません。この<DelegateName>表記は、オブジェクトがDelegateNameプロトコルに準拠することを意味しますが、そのタイプには影響しません。

于 2012-08-02T11:39:12.263 に答える