@@ -2085,7 +2085,7 @@ - (instancetype)initWithNewWindowWidth:(CGFloat)width {
20852085@end
20862086
20872087@interface SCLAlertViewShowBuilder ()
2088- @property (strong , nonatomic ) UIViewController *parameterViewController;
2088+ @property (weak , nonatomic ) UIViewController *parameterViewController;
20892089@property (copy , nonatomic ) UIImage *parameterImage;
20902090@property (copy , nonatomic ) UIColor *parameterColor;
20912091@property (copy , nonatomic ) NSString *parameterTitle;
@@ -2105,6 +2105,9 @@ @interface SCLAlertViewShowBuilder()
21052105@property (copy , nonatomic ) SCLAlertViewShowBuilder *(^style)(SCLAlertViewStyle style);
21062106@property (copy , nonatomic ) SCLAlertViewShowBuilder *(^closeButtonTitle)(NSString *closeButtonTitle);
21072107@property (copy , nonatomic ) SCLAlertViewShowBuilder *(^duration)(NSTimeInterval duration);
2108+
2109+ #pragma mark - Show
2110+ @property (copy , nonatomic ) void (^show)(SCLAlertView *view, UIViewController *controller);
21082111@end
21092112
21102113@implementation SCLAlertViewShowBuilder
@@ -2208,12 +2211,24 @@ - (void)showAlertView:(SCLAlertView *)alertView {
22082211}
22092212
22102213- (void )showAlertView : (SCLAlertView *)alertView onViewController : (UIViewController *)controller {
2214+ UIViewController *targetController = controller ? controller : self.parameterViewController ;
2215+
22112216 if (self.parameterImage || self.parameterColor ) {
2212- [alertView showTitle: controller image: self .parameterImage color: self .parameterColor title: self .parameterTitle subTitle: self .parameterSubTitle duration: self .parameterDuration completeText: self .parameterCloseButtonTitle style: self .parameterStyle];
2217+ [alertView showTitle: targetController image: self .parameterImage color: self .parameterColor title: self .parameterTitle subTitle: self .parameterSubTitle duration: self .parameterDuration completeText: self .parameterCloseButtonTitle style: self .parameterStyle];
22132218 }
22142219 else {
2215- [alertView showTitle: controller title: self .parameterTitle subTitle: self .parameterSubTitle style: self .parameterStyle closeButtonTitle: self .parameterCloseButtonTitle duration: self .parameterDuration];
2220+ [alertView showTitle: targetController title: self .parameterTitle subTitle: self .parameterSubTitle style: self .parameterStyle closeButtonTitle: self .parameterCloseButtonTitle duration: self .parameterDuration];
2221+ }
2222+ }
2223+
2224+ - (void (^)(SCLAlertView *view, UIViewController *controller))show {
2225+ if (!_show) {
2226+ __weak typeof (self) weakSelf = self;
2227+ _show = ^(SCLAlertView *view, UIViewController *controller) {
2228+ [weakSelf showAlertView: view onViewController: controller];
2229+ };
22162230 }
2231+ return _show;
22172232}
22182233
22192234@end
0 commit comments