728x90
다른 뷰컨트롤러에 있는 함수 또는 프로퍼티를 특정 시점에 호출해야 할 때 사용
프로토콜의 선언은
데이터를 전달하는 곳에서 선언하고
데이터를 받는 곳에서 채택한다.
// 데이터 전달.h
@protocol myDelegate <NSObject>
@optional
@property (nonatomic) NSString * count;
- (void)move;
@end
@interface 데이터전달 : UIViewController
@property (nonatomic) id<myDelegate>myDelegate;
@end
---------------------------------------------------------------
// 데이터 전달.m
// move가 실행되어야 하는 시점에서
- (IBAction)cancle:(id)sender {
// 딜리게이트 함수 move 실행
[self.myDelegate move];
}
// count에 값을 넣어줄 시점에서
- (IBAction)save:(id)sender {
// 딜리게이트 프로퍼티 count에 값 세팅
[self.myDelegate setCount:99];
}
// 데이터 받을곳.m
#import "데이터전달.h"
@interface 데이터받을곳()<myDelegate>
@end
@implementations 데이터받을곳
@synthesize count;
- (void)딜리게이트 채택이 필요한 또는 가능한 시점의 함수 {
데이터전달.myDelegate = self;
// 이 함수 내에서 count가 필요하다면
self.count = count;
}
- (void)move {
필요한 코드 작성
}
참고:
https://stackoverflow.com/questions/11913578/define-property-in-protocol/11913680
728x90
'iOS > iOS' 카테고리의 다른 글
image scrolling(paging) & zoom (0) | 2022.04.04 |
---|---|
Firebase DynamicLinks (0) | 2022.04.01 |
뷰 계층 관리 (0) | 2022.03.25 |
UILable cornerRadius (0) | 2022.03.16 |
UIView 값이 틀릴 때 (0) | 2022.03.14 |
댓글