-1

それselfがオブジェクトだmyObjectと言って、私は次のようなことをします[self setDelegate:theDelegate]

内部からtheDelegateどのようにアクセスできますmyObjectか?

4

1 に答える 1

4

できません。委任者は、委任しているオブジェクトについて知る必要はありません。ほとんどのデリゲートメソッドには、デリゲートがメッセージを受信したときにデリゲートオブジェクトと対話する必要がある場合に備えて、デリゲートを呼び出したインスタンスへのポインタを保持するパラメータがあります。それがあなたがするべきすべてです。

UITextField例-編集が完了したら、インスタンスの背景色を変更します。

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    // textField is a pointer to an instance that called us (the delegate)
    textField.backgroundColor = [UIColor redColor];
}
于 2012-04-15T02:00:31.463 に答える