Swift中代理的使用

LVGL在RTOS下的线程安全实践:从卡死到流畅的界面切换 本文探讨LVGL在RTOS环境下的线程安全实践,重点分析FreeRTOS多任务同步机制,包括互斥锁、任务通知和消息队列方案。通过实际案例展示如何避免界面卡顿和系统死锁,实现从卡死到流畅的界面切换,为嵌入式GUI开发提供可靠的适配解决方案。 阅读详情

和OC使用一样。

import UIKit

//定义协议
protocol CollectionViewControllerDelegate : NSObjectProtocol {
    //定义协议方法
    func clickEvent(value: String)
}

class CollectionViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {

    //声明代理属性 (注:使用weak修饰, 该协议需要继承NSObjectProtocol基协议)
    weak var delegate : CollectionViewControllerDelegate?

}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        
     delegate?.clickEvent(value: "点击事件")
}
//在第一次实例化 CollectionViewController 的时候, 设置代理
let collectionVC = CollectionViewController()
collectionVC.delegate = self

//遵守代理协议
/** extension
 -- extension 类似于 OC 中的 Category
 -- 格式: extension 类名 {}
 -- Swift中 代码可读性差, 通过 extension 完成代码分块, 增强可读性, 单一模块单独处理, 增大了当前类的作用域
 -- extension 中 可以添加计算型属性 不能添加存储型属性; 可以定义便利构造函数 不能定义指定构造函数
 */
extension TableViewController : CollectionViewControllerDelegate {
    
    func clickEvent(value: String) {
        
    }
}

Android CPU调度优化完整分析 - 小白入门到精通 本文全面解析Android CPU调度优化技术,从硬件架构到内核实现。首先介绍ARM big.LITTLE架构的硬件拓扑和性能层级,包括大核、小核和DynamIQ技术。然后深入讲解CPU性能状态管理(P-states和C-states)和硬件计数器支持。内核层部分详细分析调度器架构,包括调度类层次结构和核心调度实体实现,重点剖析CFS调度器的虚拟运行时间计算、红黑树操作和PELT负载跟踪算法。最后探讨负载均衡触发条件和实现机制。全文循序渐进,为开发者提供完整的Android CPU调度优化知识体系。 阅读详情

相关推荐

SAP开发实战:用FI_DOCUMENT_CHANGE BAPI批量修改FB03凭证抬头和行项目文本(附完整ABAP代码)

本文详细介绍了如何使用SAP的FI_DOCUMENT_CHANGE BAPI批量修改FB03凭证抬头和行项目文本,提供完整的ABAP代码实现方案。通过该BAPI,开发者可以高效完成财务凭证的批量修改,确保数据一致性和审计合规性,显著提升SAP财务模块的运维效率。

weixin_29224589的博客 381

Swift-代理方法的使用

虽然 Swift 中闭包的功能非常强大, 但代理也不可替代, 各有各的好处, 合适的, 才是最好的!个人总结, 代理的使用需要五个步骤: 1.设置代理协议,定义可选或者必选方法 2 声明一个delegate属性 3 过滤代理,实现代理方法 4 接收代理 5 实现代理方法 具体实现步骤如下:设置代理控制器需要做的事1 设置代理协议,定义可选或者必选方法@objc protocol XMTestDele

Mazy's Blog 3075

Unidbg逆向阿里系App签名:从环境补全到算法还原实战

在移动安全与协议分析领域,理解应用层签名机制是核心挑战之一。签名算法作为保障通信安全与身份验证的关键技术,其原理通常涉及哈希、加密及密钥协商等基础密码学概念。在Android平台,核心签名逻辑常被加固并隐藏于Native层SO库中,以对抗动态调试与静态分析,这为安全研究和协议兼容带来了技术障碍。Unidbg作为一种基于模拟执行的逆向工程工具,通过模拟ARM指令集和系统调用,允许研究者在脱离真机环境的情况下,可控地执行和调试SO文件,为解决此类问题提供了创新思路。其技术价值在于实现了对加固代码的确定性分析与算

weixin_42525738的博客 939

Swift中代理使用篇(一)

洲洲哥学院,swift,代理啊

whuizhou的专栏 5020

告别调参烦恼:用Simulink手把手实现自适应模糊PID温度控制(附模型下载)

本文详细介绍了如何使用Simulink实现自适应模糊PID温度控制,解决传统PID调参难题。通过模糊推理引擎动态调整PID参数,系统能自动适应不同工况,显著提升控制精度和响应速度。文章包含完整的建模步骤、参数优化技巧和工业应用扩展,并附赠可下载模型,帮助工程师快速掌握这一智能控制技术。

weixin_30872499的博客 153

Android Shadow插件化框架分析与集成(一)

到此为止,本篇文章先介绍到这里,本篇文章主要介绍了:从源码的角度去集成shadow框架,从下载源码开始,到集成到自己的项目中,其中插件项目我是新建的demo应用,宿主应用是之前搭的一个MVP框架。文章中一步一步详细的介绍了宿主该如何集成,并提供了源码;介绍了插件该如何集成,同时也提供了源码。文章中还介绍了gradle的版本与AGP版本使用不当造成的问题,以及shadow源码的gradle版本与APG版本的配置,及和宿主插件应用gradle版本与AGP版本的关系。

superzhang6666的博客 1235

Swift中闭包与代理模式在事件处理中的比较

在Swift编程中,闭包(Closure)和代理模式(Delegate Pattern)都是处理事件和回调的常用机制。它们各自具有独特的特点和适用场景,因此在实际开发中,选择使用闭包还是代理模式往往取决于具体的需求和上下文。在选择使用闭包还是代理模式时,我们应该综合考虑代码的简洁性、灵活性、可读性以及生命周期管理等因素,以选择最适合的机制来实现事件处理。(1)解耦:代理模式将事件的发送和接收解耦,使得代码更加清晰和易于维护。理解代理协议的定义、代理对象的设置以及事件的发送和接收等概念需要一定的时间和实践。

JessicaAustin的博客 1075

第 5 篇:责任链模式 (Chain of Responsibility) —— 协议栈的流水线

本文介绍了责任链模式在嵌入式通信协议解析中的应用。针对传统"面条式"代码维护困难的问题,提出将各协议解析器解耦为独立处理单元,通过链表形式串联。文章详细展示了模式实现:定义抽象处理者接口、实现具体协议处理器、构建链表管理器。该方案具有内存占用低(O(1)栈空间)、可动态扩展、支持优先级调整等优势,并探讨了性能优化策略及动态插件系统等扩展应用,为嵌入式通信协议处理提供了清晰的架构方案。

一路往蓝-Anbo 的博客 177

Swift—闭包、代理实现反向传值(附具体代码)

在iOS开发过程中,我们经常会有这样的一个需求,假设有两个界面:ViewControllerA、ViewControllerB,我们从ViewControllerA进入到ViewControllerB,想把ViewControllerB中的值传回ViewControllerA(反向传值问题),下面介绍闭包和代理两种方法来处理.定义:从哪个界面传值,就在哪个界面定义,本案例中是ViewControllerB.调用:从哪个界面传值,就在哪个界面调用,本案例中是ViewControllerB.

heyuxuan78的博客 874

Kubeflow系统性学习教程:从入门到高级实践

Kubeflow学习教程摘要(150字): Kubeflow是基于Kubernetes的云原生MLOps平台,提供端到端机器学习解决方案。核心功能包括Jupyter Notebooks开发环境、Pipelines工作流编排、分布式训练支持和模型服务部署。教程采用三阶段学习路径:初学者搭建Kind集群体验Notebooks;中级开发自定义Pipeline组件;高级实现企业级应用。通过容器化和K8s CRD深度集成,解决环境一致性、实验跟踪和资源调度等MLOps痛点,相比MLflow/Airflow更适合大规模

自可乐的博客 886

深入解析机器人软件开发中的核心:状态机管理(FSM)—— 理论、实践与优化

状态机(FSM)是机器人软件开发中管理复杂行为逻辑的核心工具,广泛应用于导航、任务执行、故障处理等场景。本文系统探讨状态机的基础理论(定义、要素)、主流设计模式(经典FSM、分层状态机HSM、行为树BT),以及工业级实现方法(代码架构、线程安全、调试技巧)。通过移动机器人导航和机械臂任务执行的案例,分析分层状态机的实际应用,并总结常见陷阱(如状态爆炸、阻塞操作)与优化策略(异步化、事件过滤)。

郑伟强dev的专栏 292

swift之代理

swift之代理详解和使用 前言 代理是一种设计模式。它允许类(Swift中的结构体)将自身负责的功能委托给其他的类型的实例示例。多用于反向传值问题等 应用 反向传值应用,这个和objective_c的写法类似,如果熟悉oc的同学对此不会陌生 1.创建ViewController protocol SecondDelegate:NSObjectProtocol { func saveName(_ nameStr: String) } class SecondViewController: UIVie

xiazhengcheng的博客 1254

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧

NL2SQL实践系列(1):深入解析Prompt工程在text2sql中的应用技巧

丨汀、的博客 4327

swift中代理的使用

1.首先定义一份协议。 protocol HttpToolProrocol{ //1.代理方法,将服务器返回的字典传递给调用者 func didRecieveResults(result:NSDictionary) } 2.定义一个代理属性 //2.声明代理属性 var delegate : HttpToolProrocol? 3.

移动开发的专栏 2090

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Swift代理的使用

Swift代理的使用 协议规定了用来实现某一特定功能所必需的方法和属性。 任意能够满足协议要求的类型被称为遵循(conform)这个协议。 类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。 1、申明代理 // 协议内容 @objc protocol TLSelectViewDelegate{ func TLSe...

dfgwang1202的博客 170

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Swift代理

举例说明,如果在自定义的View里要让页面返回上一页,view做不到只能求助于ViewController,那么就需要在View里创建一个代理,让ViewController完成代理方法。代码中红色标记为代理相关语句。 1.在View中创建代理: import UIKit protocol InputCompleteDelegate {     func createNewData(data...

weixin_42012181的博客 790

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

使用 Swift 搭建一个 HTTP 代理

前言 我将通过这篇文章详述一下如何用 Swift 搭建一个 HTTP 代理服务器。本文将使用 Hummingbird 作为服务端的基本HTTP框架,以及使用 AsyncHTTPClient 作为 Swift 的 HTTP 客户端来请求目标服务。 什么是代理服务器 代理服务器是一个搭载在客户端和另一个服务端(后面我们成为目标服务端)的中间服务器,它从客户端转发消息到目标服务端,并且从目标服务端获取响应信息传回给客户端。在转发消息之前,它可以以某种方式处理这些消息,同样,它也可以处理返回的响应。 让我们试着构建

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 3502

Swift 中代理的详细讲解和使用

前言     代理是一种设计模式。它允许类(或者Swift中结构体)将自身负责的功能委托给其他的类型的实例示例。 https://www.jianshu.com/p/623a0b577539 一、在声明的protocol中为什么要用 @objc 呢? 因为 Swift 的 protocol 是可以除了 class 以外的其他类型遵守的,而对于像 struct 或是 enum 这样的类型,本身...

Future_One的专栏 3276

swift 代理 delegate

场景 该代理实现基于 swift 4.2 版本 截止发稿属swift 最新版本 重启一个类,该类负责生成一个btn,再改类中使用delegate,并在controller类中实现delegate,代码如下 代理声明类 // // LHCustomBtn.swift // safari // // Created by 磊怀王 on 2019/9/16. // Copyright...

weixin_43883776的博客 393

swift 判断是否设置了代理

为了保障数据不被别人通过代理手段爬取 就有了这样的需求 public class func isUsedProxy() -> Bool { guard let proxy = CFNetworkCopySystemProxySettings()?.takeUnretainedValue() else { return false } guard let di...

夜未央的专栏 1647

swift之代理的使用

声明代理:importUIKit@objcprotocolcolle:NSObjectProtocol{funccollect(x:String)}classLYBConvinienceCollectionView:UIView,UICollectionViewDelegate,UICollectionViewDataSource{ weakvardelegat...

代码解释生活 457

Swift 代理

swift中代理的使用 首先定义一份协议。 protocol DetailsViewControllerDelegate: NSObjectProtocol{ func fetchBackString(str: String) } 声明代理属性 weak var delegate: DetailsViewControllerDeleg...

anqi0114的博客 123

Swift 代理传值

需求:上个页面的值,会传到当前页面。 传值页面: class NextViewController: UIViewController { weak var delegate: NextVCDelegate? @IBOutlet weak var textField: UITextField! override func viewWillDisapp...

仰望星空的博客 1547

Swift - swift3.0中代理方法的使用

代理在swift中也算是比较常用了,虽然闭包,也就是block的运用更简便,但是代理的作用依然无法被完全取代,其实这也完全取决于开发者的习惯。关于代理,博主今天在这里稍微来说明下: 1.写协议:protocol MyDelegate { func didAcceptSomethiong(someoneName : String) }2.声明一个delegatevar delegate :

CodingFire的博客 5657
上一篇: Swift中Block的使用
下一篇: host文件
风雨无阻yes
博客等级 码龄9年 343粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值