UIAlertView传递参数

经常遇到要给一个UIAlertView传递参数。

UIAlertView *alert = [[UIAlertView alloc]

                        initWithTitle:@"UIAlertView" message:nil

                        delegate:self

                        cancelButtonTitle:@"YES"

                        otherButtonTitles:@"NO",nil];

可以使用objc_setAssociatedObject,objc_getAssociatedObject

 

比如我们要传递一个参数NSDictionary*dic = @{@"123":@"456"};

 

static const char kRepresentedObject;

  objc_setAssociatedObject(alert,

                           &kRepresentedObject,

                           dic,

 

                           OBJC_ASSOCIATION_RETAIN_NONATOMIC);

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

  NSDictionary *dic = objc_getAssociatedObject(alertView,

                                              &kRepresentedObject);

    NSLog(@"%@",dic);

 

}

#import < objc/runtime.h >




你可能感兴趣的:(UIAlertView传递参数)