2010-05-10 23 views
0

Je veux utiliser un protocole, comment pouvons-nous l'implémenter dans l'iPhone.Comment décliner protocole personnalisé dans l'iPhone

///In POCViewController.h

#import

@protocol BasicAPI -(NSString*)hello; @end @interface HessianPOCViewController : UIViewController { idbasicAPI;

}

@end

///

// In POCViewController.m // In Some method

NSURL* url = [NSURL [email protected]" http://www.caucho.com/hessian/test/basic "];

id proxy = (id)[CWHessianConnection proxyWithURL:url protocol:@protocol(basicAPI)];

NSLog(@"hello: %@", [proxy hello]);

////

S'il vous plaît aidez-moi comment je peux mettre en œuvre le code ci-dessus?

Répondre

2

Dans l'extrait de code ci-dessus - le bloc @protocol va dans votre fichier d'en-tête, sous la déclaration @end qui est déjà là. cas commun d'utilisation est quelque chose comme:

@interface MyClass 
// properties, method definitions, etc 
@end 

@protocol BasicAPI 

-(NSString*)hello; 

@end 

Puis, dans un corps de méthode dans votre fichier d'implémentation, MyClass.m

-(void)myMethod { 
    NSURL* url = [NSURL [email protected]"http://www.caucho.com/hessian/test/basic"]; 
    id proxy = (id)[CWHessianConnection proxyWithURL:url protocol:@protocol(basicAPI)]; 
    NSLog(@"hello: %@", [proxy hello]); 
} 
+0

Son erreur de géolocalisation ne fonctionne pas: "Impossible de trouver la déclaration de protocole pour BasicApi" – iPhoneDev

+0

@iPhoneDev vérifier votre capitalisation (BasicApi vs BasicAPI) (et assurez-vous que vous incluez le fichier .h) –

+0

opsss désolé ma mauvaise .. le changement est "BasicApi" à "BasicAPI" Merci beaucoup :) – iPhoneDev

0

Je vois que l'exemple que vous donnez est tiré de la documentation du Hessian Objective-C implementation. Il vous montre comment interagir avec un service Web Hessian à partir d'un client Objective-C.

Avez-vous un service Web Hessian existant auquel vous essayez de parler? Si c'est le cas, vous devez déclarer dans votre bloc @protocol l'interface de ce service. Les réponses à this question donnent quelques bons exemples de comment cela fonctionne sur le côté serveur & du client.