objc_setassociatedObject 응용 프로그램

1410 단어 IOS
  • 귀속치 귀속
  •      objc_setAssociatedObject(btn, "firstObject", firsrString, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

    얻다
    objc_getAssociatedObject(sender, "firstObject");

    2. 기존 객체에 새 속성 추가@property(nonatomic,copy)NSString *title;
    - (NSString*)title{
    return objc_getAssociatedObject(self,&titleKey);
    } 
    - (void)setTitle:(NSString*)title{
    objc_setAssociatedObject(self,&titleKey,title,OBJC_ASSOCIATION_COPY);
    }

    1.id objc_getAssociatedObject(id object, void *key) 2.void objc_setassociatedObject(id object,void *key,id value,objc AssociationPolicy policy) 함수의 첫 번째 매개변수는 대상 객체, 두 번째 매개변수, 키를 나타냅니다.한 대상이 여러 개의 새로운 대상과 연결될 수 있기 때문에, 우리는 그들을 구분할 표지가 필요하다.그래서 이 키가 이런 역할을 한다.여기에 필요한 키의 주소는 누구를 가리키는지 상관없다.세 번째 매개변수는 추가할 속성을 나타내고 네 번째 매개변수는 objc 를 설정합니다.AssociationPolicy 에는 다음과 같은 옵션이 있습니다.
    OBJC_ASSOCIATION_ASSIGN, OBJC_ASSOCIATION_RETAIN, OBJC_ASSOCIATION_COPY, 우리가 속성을 성명할 때의 assign,retain,copy에 대응합니다.
  • f
  • 좋은 웹페이지 즐겨찾기