`
lizhuang
  • 浏览: 904174 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

何时用Delegate和何时用Block?

阅读更多
公共接口,方法较多也选择用delegate进行解耦
iOS有很多例子比如最常用tableViewDelegate,textViewDelegate

异步和简单的回调用block更好
iOS有很多例子比如常用的网络库AFNetwork,ASIHTTP库,UIAlertView类。

都是为了在具体的实现Delegate或Block中再进行处理,属于策略模式,具体算法在具体算法类中实现。


显示状态栏菊花效果
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
分享到:
评论

相关推荐

    delegate与block的使用

    以压缩包中的`MyLayoutSimple`为例,可能是一个简单的布局管理系统,它可能使用Delegate来定义布局规则,如确定视图的尺寸和位置,而使用Block来处理布局过程中的自定义行为,如动画效果或特定条件下的特殊处理。...

    Delegate&Block作回调

    在iOS开发中,回调是一种非常重要的机制,它允许我们在某个操作完成时得到通知或执行相应的代码。...通过分析和比较Delegate及Block的使用,开发者能够更好地应对各种编程挑战,创建出更加灵活和健壮的软件系统。

    delegate和block的使用

    在实际开发中,`delegate`和`block`常常结合使用,例如在UITableView的cell中,既可以使用代理方法传递数据,也可以使用Block来处理点击事件。两者各有优势,选择哪种方式取决于具体需求和场景。理解并熟练运用这两...

    delegate&block

    这样的实践有助于开发者更好地理解和掌握Block的使用,以及在适当情况下选择Block还是Delegate。 总的来说,`delegate`和`block`都是iOS编程中的重要工具,理解它们的差异和应用场景,能够帮助我们写出更加高效、易...

    delegate、NSNotification、block比较

    在iOS和macOS开发中,`delegate`、`NSNotification`和`block`是三种常见的对象间通信机制。它们各自有着不同的特性和应用场景,理解这些差异对于优化代码结构和提高程序性能至关重要。 首先,我们来看看`delegate`...

    Block实例------用Block代替delegate来传递值

    这篇博客"Block实例------用Block代替delegate来传递值"探讨了如何使用Block替代传统的Delegate模式进行值传递,从而简化代码结构。 Delegate模式是iOS开发中常见的设计模式,用于对象间的通信。然而,当多个方法...

    代理delegate详解,block,gcd

    在iOS和Mac开发中,代理(Delegate)、Block和GCD(Grand Central Dispatch)是三个非常重要的概念,它们各自承担着不同的任务,同时也常被结合使用以实现高效的代码编写。下面将详细阐述这三个知识点。 首先,代理...

    ios的视图之间使用Delegate传递数据

    4. 多个Delegate:如果需要在多个地方响应相同的事件,可以考虑使用多态Delegate或采用Closure/Block的方式。 总之,Delegate是iOS开发中常用的数据传递机制,理解并熟练掌握其使用,对于构建高效、健壮的应用至关...

    delegate一对多

    在Objective-C和Swift中,我们都可以在方法中使用block参数,使得调用者可以提供自定义的代码块,用于执行特定的任务或传递数据。 "属性传值"则是指通过对象的属性来传递数据。在Objective-C中,我们使用`@property...

    block demo

    在"block demo"中,我们可以创建一个类,该类有一个Block属性,用以替代传统的Delegate方法。这个Block将在适当的时候被调用,就像Delegate中的协议方法一样。例如: ```swift @interface MyClass : NSObject @...

    ios-Block基础,block传值,及自定义block方法.zip

    Block可以捕获并使用其定义时的上下文中的变量,包括基本类型和对象。当Block捕获一个对象时,会创建对该对象的强引用,可能导致循环引用。为避免循环引用,可以使用弱引用(`__weak`)或者使用`__block`关键字对...

    OC中以delegate形式页面传值

    本篇文章将深入探讨如何在OC中使用`delegate`来实现页面间的传值。 **一、Delegate模式简介** Delegate模式是一种设计模式,它允许一个对象(委托者)通知另一个对象(代理)有关其状态变化的信息。在OC中,委托...

    ios Block和代理的对比

    在iOS开发中,Block和代理是两种常用的回调机制,它们都可以用来实现对象间的通信,但具体用法和特性有所差异。...通过不断学习和实践,我们可以更好地掌握Block和代理的使用,并在项目中发挥它们的优势。

    block实现例子(介绍block的代码)

    例如,我们经常在GCD(Grand Central Dispatch)中使用Block来定义后台任务,即使该任务在主线程之外执行,仍然可以访问和更新在创建Block时的变量。 Block的语法在Objective-C中表现为一对花括号 `{}` 包裹的代码...

    OC中以block形式页面传值

    - Block和Delegate都是实现回调机制的方式,但Block更简洁,可以避免定义多个代理方法。然而,Delegate模式更符合面向对象的设计原则,适合处理复杂的交互逻辑。 总结来说,OC中以Block形式实现页面间的传值,能够...

    UIAlertView使用Block传值

    `UIAlertView使用Block传值`这个话题主要是关于如何将传统的Delegate模式转换为使用Block来处理UIAlertView的点击事件,提高代码的可读性和简洁性。在Objective-C中,我们可以创建一个类别(Category)来扩展...

    利用delegate进行ViewController之间的参数传递

    在Objective-C和Swift中,我们可以通过多种方式来实现这一功能,如代理(Delegate)、通知(Notification)、KVC(Key-Value Coding)、Block、闭包(Closure)等。这里我们将重点讨论如何利用`delegate`来进行...

    Block详解ppt

    2. Delegate和Callback:Block可以替代传统的代理模式,简化回调过程。 3. KVO(Key-Value Observing):Block可以作为观察者,当属性改变时自动执行。 4. AFNetworking:网络请求库中,Block常用于处理网络响应。 ...

    教你学会block

    Block是Objective-C和Swift编程语言中的一个重要特性,它允许开发者在代码中定义可自定义的块(或称闭包)来封装一段可执行的代码。...希望这个教程对你学习和使用Block有所帮助,祝你在编程旅程中不断进步!

Global site tag (gtag.js) - Google Analytics