2010-05-10 2 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

-(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) (и убедитесь, что вы включили файл .h) –

+0

opsss извините, мой плохой .. изменение «BasicApi» на «BasicAPI» Спасибо большое :) – iPhoneDev

0

Я вижу, что пример вы даете берется из документации на Hessian Objective-C implementation. Он показывает вам, как взаимодействовать с веб-сервисом Hessian от клиента Objective-C.

Есть ли у вас существующий веб-сервис Hessian, с которым вы пытаетесь поговорить? Если это так, вам нужно объявить в своем @protocol блоке интерфейс к этой службе. Ответы на вопросы this question дают несколько хороших примеров того, как это работает как на стороне сервера клиента &.

Смежные вопросы