Swift 분류에 대한 속성 증가 objcgetAssociatedObject

1146 단어
OC 연결 객체 가져오기
- (UIView*)backgroundView
{
    return objc_getAssociatedObject(self, &kBackgroundViewKey);
}

Swift 연결 대상 가져오기 - 잘못된 쓰기
func backgroundView() -> UIView
{
    return objc_getAssociatedObject(self, kBackgroundViewKey) as! UIView
}

Swift 연결 대상 가져오기 - 올바른 쓰기
func backgroundView() -> UIView?
{
    return objc_getAssociatedObject(self, kBackgroundViewKey) as? UIView
}

연결 객체 OC와 Swift의 차이점 설정


OC 연결 객체 설정
- (void)setBackgroundView:(UIView*)backgroundView
{
    objc_setAssociatedObject(self, &kBackgroundViewKey, backgroundView, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

Swift 연결 설정
//  UIView , 
func setBackgroundView(backgroundView:UIView?)
{
    objc_setAssociatedObject(self, kBackgroundViewKey, backgroundView, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}

강추:초간단!!!iOS 설정 상태 표시줄, 탐색 표시줄 버튼, 제목, 색상, 투명도, 오프셋 등


https://github.com/wangrui460/WRNavigationBar https://github.com/wangrui460/WRNavigationBar_swift
저의 웨이보를 주목해 주신 것을 환영합니다:wangrui460

좋은 웹페이지 즐겨찾기