2009-11-03 4 views
18

Je reçois l'erreur suivante lors de la compilation de mon application.Protocole Objective-C double Delegate

avertissement: class « ConfigureViewController » ne pas mettre en œuvre le protocole « MPMediaPickerControllerDelegate »

Je sais que cela signifie que je dois mettre en œuvre le délégué du contrôleur. i.e. @interface ConfigureViewController : UIViewController <MPMediaPickerControllerDelegate>

Cependant, mon contrôleur actuel a déjà une implémentation de délégué pour <UITextFieldDelegate> i.e. @interface ConfigureViewController : UIViewController <UITextFieldDelegate>

Comment puis-je contourner ce problème?

Merci, T

Répondre

47

Il suffit de les séparer par une virgule: <MPMediaPickerControllerDelegate, UITextFieldDelegate>

13

On peut mettre en œuvre plusieurs protocoles en spécifiant plusieurs protocoles dans la déclaration de classe.

Dans ce cas, afin de mettre en œuvre à la fois MPMediaPickerControllerDelegate et UITextFieldDelegate, la déclaration de classe serait:

@interface ConfigureViewController : UIViewController < UITextFieldDelegate, MPMediaPickerControllerDelegate > 
+0

Uh oh, c'est plus facile que je pensais. Merci coobird – teepusink