關聯對象用於在iOS中創建屬性以及iOS中的一些狡猾更改。有人會關心解釋這是如何做這些?iOS中的UIAlertView中的關聯對象
- (IBAction)doSomething:(id)sender {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Alert" message:nil
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
objc_setAssociatedObject(alert, &kRepresentedObject,
sender,
OBJC_ASSOCIATION_RETAIN_NONATOMIC);
[alert show];
}
- (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex {
UIButton *sender = objc_getAssociatedObject(alertView,
&kRepresentedObject);
self.buttonLabel.text = [[sender titleLabel] text];
}
蘋果的定義並不能幫助我明白無論是。 「使用給定的鍵和關聯策略爲給定對象設置關聯值。」