VLBAlertViews 1.0

VLBAlertViews 1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

未声明的维护。



  • 作者
  • Markos Charatzas

简介

一个 API,为 UIAlertView 的代理引入本地作用域,添加了对每个 UIAlertView 多个代理和块的支撑。

UIAlertView 通常在控制器中使用,设置为它的代理。由于控制器比 UIAlertView 持续得更久,所以通过其代理的弱属性提供了便利的工作程序。

此外,控制器被设计为响应每个按钮点击索引的回调。这通常会导致回调中的长列表 if 语句。

VLBAlertViewDelegate 旨在解决这些问题。

VLBAlertViewDelegate

VLBAlertViewDelegate 被分配了与按钮索引的谓词以及一个关联的块,如果谓词评估为真,则执行该块。

VLBAlertViewDelegate 故意与其块创建了一个保留周期,该周期在 clickedButtonAtIndex 事件上打破,与其 UIAlertView 具有相等的生命周期,从而实现本地作用域。

可以组合 VLBAlertViewDelegate(s),以响应不同的 clickedButtonAtIndex 事件。

包含了什么

  • VLBAlertViews 'VLBAlertViews.xcodeproj' 构建了一个静态库 'libVLBAlertViews.a'

版本

1.0 初始版本。支持块、多个代理分配、局部作用域。

如何使用

局部作用域

    id<UIAlertViewDelegate> alertViewDelegateOnOkDismiss = [VLBAlertViews newAlertViewDelegateOnOkDismiss];

UIAlertView *alertView = [VLBAlertViews newAlertViewWithOk:title message:message];
alertView.delegate = alertViewDelegateOnOkDismiss;

[alertView show];

多个代理

id<UIAlertViewDelegate> alertViewDelegateOnOkDismiss =
    [VLBAlertViews newAlertViewDelegateOnOkDismiss];
id<UIAlertViewDelegate> alertViewDelegateOnCancelDismiss =
    [VLBAlertViews newAlertViewDelegateOnCancelDismiss];

id<UIAlertViewDelegate> delegate = [VLBAlertViews all:@[alertViewDelegateOnOkDismiss, alertViewDelegateOnCancelDismiss]];

UIAlertView *alertView = [VLBAlertViews newAlertViewWithOkAndCancel:title message:message];

alertView.delegate = delegate;

[alertView show];

id<UIAlertViewDelegate> alertViewDelegateOnOk = [VLBAlertViews newAlertViewDelegateOnOk:^(UIAlertView *alertView, NSInteger buttonIndex) {
    }];

UIAlertView *alertView = [VLBAlertViews newAlertViewWithOk:title message:message];
alertView.delegate = alertViewDelegateOnOk;

[alertView show];

未来工作

TBD

备注

没有测试来保护代码。

许可证

VLBAlertViews 根据 MIT 许可证发布

版权所有(C) 2013, www.verylargebox.com

特此授予任何获得此软件和辅助文档副本(“软件”)的个人在不受限制的情况下处理软件的权利,包括无限制使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及准许任何向软件提供的人按本协议行事的权利,但遵守以下条件

上述版权声明和本许可声明应包含在软件所有副本或实质性部分中。

软件按“现状”提供,不提供任何类型的保证,无论是明示的、默示的,还是针对 merchantability、特定目的适用性或非侵权的保证。在任何情况下,作者或版权所有者均不对任何主张、损害或其他责任承担责任,无论源于、因或与软件、使用或其他软件处理有关的行为,包括但不限于合同行为、侵权行为或其他行为。