iOS入门(十八)OC中常用的几种传值方式

oc三种传值方式:通知传值,代理传值,block传值 三种传值方式分别为:通知传值,代理传值,block传值 通知和代理的区别(重点) 1,代理可以给sender返回值;通知不能返回值 2,通知代理量小,代理实现步骤比较繁琐 3,通知是一对多/一对无的关系; 代理是一对一关系 4,通知是一个监听者,效率较低. 阅读详情

1、属性传值。属性传值是所有传值方式中最简单的一种方法,所有是实现的传值也是最简单的相邻两个视图之间的被设置为属性的变量之间的值传递。只需在推出下一个页面之前,将下一个页面中接受属性传值的属性在本页面中进行值得设置即可。 

2、单例传值。单例传值是一种比较强大的传值方式,他可以再任意两个页面之间进行一些简单的值传递。所谓的单例传值就是在程序实现中新建一个类,将想要传递的值存储到这样的一个类中,之后在程序的实现过程中,想要调用这个值的所有地方都可以通过新建一个单例的类来取得其中的值。就像是将一个工具放在公用的地方,想要使用工具的对象自己到放置工具的地方取一下就可,单例传值只是多了一点,那便是每一次有对象取走其中的值后,原地都会留下相同的另外一个值。单例传值的核心实现在于,程序实现过程中第一次调用单例的时候是给单例赋值,之后的每一次调用单例对象都是取出单例中的值。

3、代理传值。代理传值是一种比较普遍使用的可以从后面的视图传到前面的视图的方式。代理传值的实现过程是:首先在需要将值传递出去的类中实现一个协议,协议中写一个代理传值的具体方法。然后在需要传值的类中设置一个属性,这个属性为一个遵循之前写的协议的id类型。最后在获取传递的值的实现方法中,指定自己为传值方的代理,然后实现代理所遵循的协议中的方法,将值取到,赋给要对值进行处理的对象。

4、观察者传值。观察者传值是一种比较少用的方法,在观察者方法中,程序员可以在某一个视图控制器中设置观察者和该观察者的标识以及收到观察者信号之后该视图控制器所应该进行的操作。在设置好观察者之后的程序实现中,观察者什么时候接受到相关的信号了,就将信号传递给原始的视图控制器,然后改视图控制器进行相关的操作即可。观察者控制器比较强大的是可以传递很多东西,在很大的程度上更像是给设置观察者的对象添加了一个远程控制器。

5、Block传值。Block传值与观察者传值的实现机制比较相似,只是block传值在整个实现过程中显得更加的简单,并且需要事先确定传值的目的地。在观察者传值中,程序员可以在程序实现的整个范围内选择信号什么时候传递,即使是多次传递也没有关系。而block传值则是需要将要传递的另一个对象确定下来,更多的像是一个老板给固定的员工分配固定的任务,然后将任务成果拿到之后进行固定的处理。

6、Plist传值。Plist传值这种方式是比较少用的一种传值方式,基本的实现原理是:系统在建立好新工程之后会给自己建一个plist文件,里面存储一些关于程序新工程的初始设置数据。这个文件的最大的特点在于,在这个文件中的所有数据都不会因为重新启动而发生改变。每一次程序重新启动的时候,程序中的大部分文件都会重新初始化,很多之前一次程序启动产生的操作便不会保存下来,但是这个Plist文件从工程建立开始变不会因为程序其他部分的设置而改变。一般情况下,可以将这个Plist文件中的值进行每一次启动之间的值传递,或者判断该程序是第几次启动。

重学OC第十八篇:进程与线程 文章目录前言一、进程内存区域分布1.1 栈溢出、栈桢二、线程2.1 线程访问权限2.2 线程调度与优先级2.3 线程池2.4 iOS线程栈大小2.5 iOS多线程技术方案总结 前言 先来简单了解一下进程和线程 进程是一个执行中程序的实例(操作系统对一个正在运行的程序的一种抽象)。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件,而并发运行,则是是说一个进程的指令和另一个进程的指令是交错执行的。操作系统实现这种交错执行的机制称为上下文切换。 线程是进程的基本执行单元,一个进程的所有任务都在 阅读详情

相关推荐

OC中以block形式页面传值

oc中以block形式实现页面间的传值过程

OC语言BLOCK和协议

  OC语言BLOCK和协议 一、BOLCK (一)简介 BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。 BOLCK和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。 标识符 ^ (二)基本使用 (1)定义BLOCK变量 Int (^SumBlock)(int,int...

weixin_34408717的博客 288

iOS(闭包)block传值详解

在iOSAPP开发的过程中 我们会用到很多需要传值的地方 传值的方式也多种多样 有:代理传值、通知传值、KVC、KVO、block、单例 等。其中block 因为其简洁实用规范的代码 无疑是大牛们传值的不二选择 但对于初学者来说要理解并能运用 起初确实有些难以理解 以下我将细细的介绍下block 首先我总结了一下block的公式: 步骤1.block 的声明 返回值类型(^block 的名字)(参数列表); 步骤2.block 实现 block的名字 = ^(参数列表)(){}; 步骤3.block 的调用 block的名字(); 下面是一个简单的block // 声明 v

OC中新的传值方式--单例、通知与匿名函数block

说起数据的传递方式,我们大概第一想到的就是参数了,而在OC中新增加了两种比较常用的传值方式——单例(静态对象)、通知(NSNotification)与匿名函数(Block)。 在介绍这两种传值方式之前,我们先介绍一下目前常用的一些传值方式: 1、参数传值 2、方法传值 3、属性传值 4、单例传值 5、通知 6、协议 7、匿名函数/代码块/block/闭包

FlackLee的博客 1055

别再魔改LWIP了!用STM32CubeMX配置F407的TCP保活(KeepAlive)与自动重连

本文详细介绍了如何通过STM32CubeMX配置STM32F407的LWIP协议栈,实现TCP保活(KeepAlive)与自动重连功能,解决网络异常断开问题。文章提供了从基础环境配置到自动重连架构设计的完整指南,帮助开发者构建高可靠的网络连接机制,适用于工业物联网和嵌入式设备开发。

weixin_27038245的博客 237

TPL5010硬件看门狗电路

在做一些采集频率很低的产品的时候,会考虑电池供电,比如表、电气表等,为了控制功耗,往往会在设备不需要工作的时候让它进入低功耗模式。为了设备的稳定性,避免死机后无法恢复,必须配置看门狗,一般的看门狗芯片,喂狗间隔时间是几秒钟。这样在喂狗和低功耗之间就产生了一个矛盾,频繁的喂狗就需要频繁的醒过来,这样功耗就很难做到很低。这颗看门狗芯片,特别适合上面的应用。2小时的间隔意味着主控芯片每2小时醒过来喂狗一次即可,而在2.5V供电的情况下,功耗仅仅35nA,几乎可以忽略不计。

zxm8513优快云博客 3309

「OC」多界面传值

在仿写网易云的过程之中,为了实现多界面传值,我了解了委托,通知和属性等方式,并分别实现了夜间模式的传值,为了后面3Gshared的需要,特此对多界面传值进行学习与总结。

aa2002aa的博客 1251

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

浪子L的博客 5223

oc中页面传值问题

当我们需要通过第一个界面传值给第二个界面可以通过属性传值,单例,代理,block,消息通知等方法进行传值。当我们需要从第二个界面传值到第一个界面的时候通过单例,代理,block,消息通知等方法进行传值。下面主要介绍的是第二个界面传值到第一个界面。

free梦笑的博客 454

解密网页视频Blob链接:从防盗链到流媒体分片技术

本文深入解析了网页视频中Blob链接的工作原理,揭示了其作为现代视频防盗链与流媒体分片技术核心的本质。文章详细阐述了Blob对象与Media Source API如何协同工作,将视频数据分片传输,并结合HTML5的video元素实现安全、流畅的播放体验,有效提升了资源保护能力。

c7d8e的博客 317

ANSYS Workbench对称分析进阶:手把手教你用Pre-Meshed Cyclic Region处理外部导入的复杂网格模型

本文详细介绍了ANSYS Workbench中Pre-Meshed Cyclic Region功能在处理外部导入复杂网格模型时的应用。通过循环对称分析技术,可显著减少计算资源消耗,特别适用于叶轮机械、齿轮组等周期性结构分析。文章深入解析了该功能的底层逻辑,并提供了从NASTRAN文件导入的离心压缩机叶轮案例,帮助工程师克服网格匹配难题。

weixin_28630185的博客 313

iOS 摸鱼周报 第四十八期

????????关注后回复“进群”,拉你进程序员交流群????????作者丨zhangferry来源丨iOS成长之路本期概要话题:node-ipc 供应链投毒事件面试模块:OC 对象弱引用指针标识位优秀博客:程序员如何自我提升学习资料:以 Java 为背景的全栈知识体系开发工具:新一代卡片笔记工具:flomo本期话题@zhangferry:这期稍微聊一聊 「node-ipc 包以反战为名进行...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 510

机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 3852

iOS开发之oc(十八)--Foundation(3)NSArray和NSMutableArray

(一)首先来看一个知识点 /* 集合类:是拿来装对象的(有以下三种) 1.NSArray\NSMutableArray •有序 •快速创建(不可变):@[obj1, obj2, obj3] •快速访问元素:数组名[i] 2.NSSet\NSMutableSet •无序 3.NSDictionary\NSMutableDictionary •无序 •快速创建...

auas78149的博客 128

银行监管报送系统介绍(十五):金融审计平台

金审平台主要包括基础、财务、结算、信贷和中间业务五大板块,主要服务于审计署对中国银行的各项审计任务,同时也可为行内审计、稽核检查、数据分析、总分行提供基础数据服务,为实现基础数据共享提供了有力的数据保障。2019年1月某全国性股份制商业银行收到审计署2019-23号文,文中指出为进一步提高审计数据质量,审计署审计组派员前往9家重点商业银行,就完善标准化数据的相关情况与各银行有关部门进行讨论协商。关于数据报送频率及报送内容:数据从2019年4月开始,按月报送,即于每月25日之前报送上月数据;

银行信息系统应用架构详解 2056

游戏开发:逻辑与渲染分离技术解析

游戏开发中逻辑与渲染分离的架构设计 本文系统阐述了游戏开发中逻辑与渲染分离的设计原则与实践方法。文章首先定义了核心概念:逻辑层负责游戏规则与状态,渲染层处理视觉表现,二者通过数据模型层进行通信。通过历史回顾,揭示了从早期混合架构到现代分层设计的演变过程。 在技术实现层面,文章详细分析了分离架构的优势:性能优化、流畅度控制、测试便利性、扩展灵活性以及团队协作效率。提供了Unity和Unreal两大引擎的具体实现方案,包括代码示例、分层模型和最佳实践。特别探讨了网络同步、客户端预测、插值处理等关键技术难点。 文

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1060

IOS学习之十八:学习的细节之Block编程

IOS block 教程  这是网上一篇介绍的挺详细的教程。 搜索过官方文档,蹩脚的英文面前看一点懂。速度很慢。 后来找到上面这片大部分文档的翻译,觉得挺好的。 对于block学习。大致分几点 1.sdk的限制,即,block属于哪个版本新引入的特性。 2.基本语法 3.情景使用。 一:block描述 Block 是iOS在4.0之后新增的程式语法,严

killnono 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

iOS 面试题:OC基本概念题<续>

iOS 面试题

岽少的专栏 1665

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

十八,iOS设计模式之单例模式

单例模式 单例模式在项目中用的比较多主要用于数据的存储和使用; 单例设计模式有两种写法,第一种是不考虑线程安全的懒汉模式,第二种是考虑线程安全的“饿汉模式”,饿汉模式相对于懒汉模式来说是考虑线程安全,懒汉模式是典型的时间换空间,也就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间。 饿汉模式:当类加载到OC运行时环境中(内存),就会调用+ (void)load一次(一个

wang6177的专栏 1093

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OC底层文章汇总

底层源码探索方式 OC底层探索(一):alloc、init、new源码分析 对象底层:结构体+alloc分析 OC底层探索(二) :源码探索的三种方式 OC底层探索(三) 内存对齐原理 对象的本质:isa+isa属性分析+类结构 OC底层探索(四) ISA的结构与类的关联、ISA走位分析 OC底层探索(五) 类的结构分析 OC底层探索(六) isa 经典面试题分析 OC底层探索(七) cache_t分析 方法的本质:消息发送,即objc_msgSend流程分析 OC底层探索(八)objc_msgSend 流

正在注销账号的博客 807

iOS try-catch会引起memory leak

最近碰到了一个很棘手的问题----内存泄露。话说某天早晨,在需求完成时检查各种场景下WebView的使用是否正常,特别是内存释放是否正常时,发现了一个问题,在某个内嵌WebView的场景下WebView实例始终不释放。着实吓了我一跳,然后检查了一下前几个版本的代码,发现这种场景下一直都没有释放,可见问题久亦。在评估了对线上版本的影响后,我就开始了漫长的内存泄露定位之旅。1、检查了持有WebView...

u012413955的博客 1620

一起Talk IOS吧(第十八回 OC中的继承实例)

看官们,我们在上一章回中对继承做了概述性的介绍,这一回中通过具体的例子来介绍如何使用继承。下面是具体的代码: #import<Foundation/Foundation.h> //定义父类Phone,类中包含两个属性和一个方法 @interface Phone : NSObject @property char * name; @property int size; -(void) makeCall; @end //定义并且实现父类Phone。主要是实现了init和os方法 @inter

talk_8的专栏 192

【iOS】系统框架

本次博客撰写小蓝书的最后一章系统框架Objective-C的系统库包含相当多的collection 类,其中有各种数组、各种字典、各种 setoFoundation框架定义了这些collection及其他各种collection所对应的Objective-C类。与 之相似,CoreFoundation 框架也定义了一套C语言API,用于操作表示这些collection 及其他 各种collection 的数据结构。例如,

weixin_72437555的博客 1497
上一篇: iOS入门(十七)继承
下一篇: iOS入门(十九)NSString NSArray NSDictionary
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值