2012-03-26 2 views
0

У меня есть UDPSocket в одном из моих контроллеров, я знаю, что мне нужно использовать делегатов. Какие функции я должен добавить, чтобы получить доступ к моему udpsocket с другого контроллера?Как отправлять сообщения от одного контроллера от другого с делегатами?

было бы здорово использовать как

л
[controller1.udpsocket sendData:data toHost:host] 

, но я знаю его не очень хорошо, что делать вместо этого?

ответ

1
#import <Foundation/Foundation.h> 

@protocol DownLoadImageDelegate<NSObject> 
@required 
-(void)ImageDownLoaded:(UIImage*)image; 

@end 


@interface DownLoadImage : NSObject 
{ 

    id<DownLoadImageDelegate> mDelegate; 
    NSURLConnection *mConnection; 
    NSMutableData *mData; 
} 

@property(nonatomic,retain) id<DownLoadImageDelegate> delegate; 
@end 

//InViewController class 

DownLoadImage *imageDownLoad = [[DownLoadImage alloc]init]; 
imageDownLoad.delegate=self; 
//and implement the delegate method declared in DownLoadImage class in ViewController class as 

-(void)ImageDownLoaded:(UIImage *)image 
{ 
    NSLog(@"Image%@",image); 
    [mImageView setImage:image]; 
} 
+0

и как я могу назвать эту функцию? –

+0

Я думаю, я понял, мне нужно, чтобы эти методы были общедоступны? –

+0

В классе DowmLoadImage вызов метода делегата после завершения загрузки как паров: - (void) connectionDidFinishLoading: (NSURLConnection *) connection { \t UIImage * image = [[UIImage alloc] initWithData: mData]; \t, если (mDelegate && [mDelegate respondsToSelector: @selector (ImageDownLoaded:)]) { \t \t \t [mDelegate ImageDownLoaded: изображение]; \t} \t [mConnection release]; \t [image release]; \t [mData release]; } – sample

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