swift 进程间通知和对象指针转换,定义错误码描述

本文详细介绍了使用Swift语言实现进程间通知的完整流程,包括定义回调、对象转换为指针、注册监听者以及发送者如何发送通知。通过具体代码示例,展示了如何利用CFNotificationCenter进行进程间通信。

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

//定义进程间通知回调
 let callback:CFNotificationCallback = {(_,rawPointer,_,_,_) in
    let error = NSError(domain: "closeBroadcast", code: 0, userInfo: [NSLocalizedDescriptionKey:"屏幕共享已结束"])
    let sample = Unmanaged<SampleHandler>.fromOpaque(rawPointer!).takeUnretainedValue()
    sample.finishBroadcastWithError(error)
 }
//对象转指针保存在回调函数的参数里
let rawPointer = Unmanaged.passUnretained(self).toOpaque()
//监听者注册进程间通知
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), rawPointer, self.callback, "closeBroadcast" as CFString, nil, .deliverImmediately)


//发送者,发送通知给监听者
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFNotificationName.init("closeBroadcast" as CFString), nil, nil, true)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值