2012-03-26 5 views
0

私はコントローラの1つに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 IF(mDelegate && [mDelegate respondsToSelector:@selector(ImageDownLoaded:)]){ \t \t \t [mDelegate ImageDownLoaded:画像]。 \t} \t [mConnection release]; \t [image release]; \t [mData release]; } – sample

関連する問題