2010-05-10 3 views
0

프로토콜을 사용하고 싶습니다. 어떻게 iPhone에서 구현할 수 있습니까?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]);

////

나는 위의 코드를 구현할 수있는 방법을 제발 도와주세요?

답변

2

위 코드에서 @protocol 블록은 헤더 파일의 @end 선언 아래에 이미 있습니다. 구현 파일의 일부 메서드 본문에 다음

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

@protocol BasicAPI 

-(NSString*)hello; 

@end 

, MyClass.m 난 당신이주는 예는 Hessian Objective-C implementation에 대한 설명서에서 가져 볼

-(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

작동하지 않는 오류 : "BasicApi에 대한 프로토콜 선언을 찾을 수 없습니다" – iPhoneDev

+0

@iPhoneDev 대문자를 확인하십시오 (BasicApi vs. BasicAPI). –

+0

opsss 죄송합니다. . 변경 사항은 "BasicApi"에서 "BasicAPI"입니다. 감사합니다. :) – iPhoneDev

0

: 일반적인 사용 사례 같은 것입니다. Objective-C 클라이언트에서 Hessian 웹 서비스와 상호 작용하는 방법을 보여줍니다.

대화하려는 기존의 Hessian 웹 서비스가 있습니까? 그렇다면 해당 서비스에 대한 인터페이스를 @protocol 블록으로 선언해야합니다. this question에 대한 대답은 클라이언트 & 서버 쪽에서 이것이 어떻게 작동하는지 보여주는 좋은 예입니다.

관련 문제