в чем разница между делегированием и уведомлением?

в чем разница между делегатом и уведомлением?

я понял как делегат и протокол,

@protocol classADelegate

-(void)DelegateMethod;


@end



classB <classADelegate>{

   classA *ObjOfclassA=[[classA alloc]init];

    ObjOfclassA.delegate=self;

//while push later, here we have taken the pointer of classB(self) to classA and stored in delegate variable of classA. so from classA we can call the function in classB

   push:classA from here.


   -(void)DelegateMethod{

        nslog(@"i am rithik from India");


     }

}


classA{

   id <classADelegate> delegate;

   -(void)viewdidload{

        [self.delegate DelegateMethod];

    }

}

Я сомневаюсь в

1 почему мы не использовать в classA как это

classA{

**classB** <classADelegate> delegate;


[self.delegate DelegateMethod];

}

какова причина использования « id » и в чем их разница?

2 мы вызвали метод функции DelegateMethod класса B, которая пришла из определения протокола.

вместо этого мы можем напрямую вызвать этот метод, определив этот метод экземпляра classB. потому что у нас есть указатель на classB в classA ' s переменная делегата.

вот так.

classB{

-(void)DelegateMethod;

}

, а затем вызовите это в

classA{

       classB delegate;

       -(void)viewdidload{

            [self.delegate DelegateMethod];

        }

    }

, поэтому из приведенного выше мы избежали протокола и переменной идентификатора .

, но я знал, что многие из нас используют делегат и протокол. здесь я узнал о каких-либо преимуществах при использовании делегата и протокола

, здесь каково использование реализации протокола для метода функции DelegateMethod.

вместо определения экземпляра.

каково их использование @protocol.

Пожалуйста, направьте меня в правильном направлении ...

Я новичок в разработке iphone.

прямо сейчас я знал, как создать делегата. Но пока я пришел изучать NSNotification

, который также является делать почти правильную работу, как делегат.

так когда мне следует использовать delgate или NSnotification.

ThankU

19
задан visakh7 16 March 2011 в 12:42
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: