Swift 泛型和闭包结合使用

本文探讨了在Swift中如何定义和使用闭包,并引入泛型以提高闭包的灵活性和复用性。通过实例展示了如何自定义闭包类型,以适应不同场景的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常在Swift中定义一个闭包来使用

typealias Closure= (Any?) -> ()

var tempClosure :Closure?

/// 定义一个方法直接调用
func closure(_ closure:@escaping closure) {
        self.closure = closure
}

 

 上面就是我们经常使用闭包的方法,这个方法的弊端就是,在项目工程中typealias满天飞,到处都是定义的闭包,这个时候结合泛型对闭包做如下的修改

public typealias GenericClosure<T> = (T) -> ()

 

这样定义之后我们在需要使用的时候就可以随意的定义闭包的参数类型了

var stringClosure:GenericClosure<String>?
var stringClosure:GenericClosure<(title:String,model:Any)>?
var voidClosure:GenericClosure<()?>

 

转载于:https://www.cnblogs.com/zj901203/p/10419654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值