2015년 8월 3일 월요일

[ios] viewcontroller 간의 데이터(값) 전달 (delegate 이용)

FirstViewController SecondViewController 두개의 뷰가 존재하며
FirstViewController에 SecondViewController의 데이터를 전달하고자 한다.

SecondViewController : 데이터를 전달
FirstViewController : 데이터를 받음

[SecondViewController.h]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 프로토콜 선언
@protocol SecondViewDelegate <NSObject>;
@required
-(void) getData:(int)data;
@end
// 델리게이트 선언
@interface SecondViewController : UIViewController
{
    id < SecondViewDelegate > delegate;
}
@property (nonatomic,assign) id< SecondViewDelegate > delegate;
@end
cs

[SecondViewController.m]
1
2
// 값을 보냄
[self.delegate getSelectData:10];
cs


[FirstViewController.h]
1
2
3
4
#import "SecondViewController.h"
@interface FirstViewController : UIViewController< SecondViewDelegate > 
cs



[FirstViewController.m]
1
2
3
4
5
6
7
8
9
SecondViewController *viewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
// 꼭 델리게이트 지정해주어야 함
viewController.delegate = self;
 
// 델리게이터 함수 구현 값을 받음
-(void) getData:(int)data
{
    NSLog(@"data = %d", data);
}
cs









댓글 없음:

댓글 쓰기