什么情况使用 weak 关键字,相比 assign 有什么不同?

锐浪报表 Grid++Report 子报表 Delphi 锐浪报表 Grid++Report 是国内较好的报表控件,本人一直使用它,做出很多特色的报表。可以说你的报表设计出来,它基本上能做出来。 但是它帮助文件上,说的不深,近期因为要做一个有关社工的报表,大表中,嵌套2个子表。可以说,一个表到三个数据集,分别打印。 在认真看了帮助的基础上,网上探索,基本无此类,特别是Delphi的帮助,几乎为零。经二天摸索,做出来了。 一、设计思路 1、大表和二个小表,可以设计为三个表,分别使用三个GridppReport控件,取名... 阅读详情
什么情况使用 weak 关键字?

  1. 在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端使用 weak 来解决,比如: delegate 代理属性

  2. 自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用 weak,自定义 IBOutlet 控件属性一般也使用 weak;当然,也可以使用strong。
不同点:     
  1. weak 此特质表明该属性定义了一种“非拥有关系” (nonowning relationship)。为这种属性设置新值时,设置方法既不保留新值,也不释放旧值。此特质同assign类似, 然而在属性所指的对象遭到摧毁时,属性值也会清空(nil out)。 而 assign的“设置方法”只会执行针对“纯量类型” (scalar type,例如 CGFloat 或 NSlnteger 等)的简单赋值操作。

  2. assigin 可以用非 OC 对象,而 weak 必须用于 OC 对象
【测开求职】面试题:操作系统 吐血整理 本篇文章是笔者为准备研究生复试和校招而写,因此主要针对问答,注重理解,而不在于细节计算。涵盖考研范围内的所有知识内容,读者可以先查看上面的链接走一遍操作系统的整体框架结构。其中,重点难点以及易混淆的知识点,笔者用其他文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。另外操作系统在校招中有非常明显的重点,一般情况下只会考察进程管理,内存管理,和设备管理,且这三者考察频率依次递减,文件管理基本不会考察。 阅读详情

相关推荐

别再傻傻分不清了!Anaconda和Miniconda到底选哪个?附保姆级安装与镜像源配置(Windows/Mac)

本文详细解析了Anaconda和Miniconda的核心差异,包括体积、预装内容、系统资源占用等关键维度,并提供了针对不同需求的决策框架。附有Windows和Mac双平台的详细安装与配置指南,帮助用户根据实际需求选择最适合的conda工具,提升开发效率。

weixin_30315723的博客 426

什么情况使用weak关键字,相比assign有什么不同?

使用 weak 的情形 在 ARC中,有可能出现循环引用的问题,这时候解决方案就是让其中一端使用weak来解决,比如delegate代理属性。 自身已经对它进行了一次强引用了,没必要再强引用一次,这时候也会使用weak。 与assign的区别 assign可以用于非OC对象,而weak必须用于OC对象。 weak表明该属性定义了一种“非拥有关系”,为这种属性设置新值时,设置方法既不保留新值,也不释放旧值,当属性所指的对象销毁时,属性值会自动清空(nil); 而assign当设置方法只会针对“纯量类型”

田一一 664

【图数据库与知识图谱入门】2.2 图数据库 vs. 关系型数据库 vs. NoSQL数据库

本文对比了关系型数据库、NoSQL数据库和图数据库的核心差异与应用场景。关系型数据库以二维表结构为核心,适合结构化数据的事务处理(如MySQL),但多表关联查询性能随层级增加而下降。NoSQL数据库(如MongoDB)具有灵活schema,适合海量非结构化数据存储,但关联查询能力较弱。图数据库专注于节点-边关系建模,擅长处理复杂关联分析(如社交网络)。通过学生-课程案例展示了MySQL的多表JOIN操作和MongoDB的两种关联实现方式(内嵌文档和文档引用),揭示了不同数据库在数据关联处理上的本质区别。

kngines 1542

retain、strong、weak、assign区别

在网上看到一个解释weak和strong的例子,感觉挺形象的,如下: 一、weak和strong的区别 (weak和strong)不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放 ,即使还有weak型指针指向它。   一旦最后一个strong型指针离去 ,这个对象将被释放,所有剩余的weak型指针都将被清除。   可能有个例子形容是妥当的。   想象我们的对象是一

Sunny_212319 669

Simplorer-Maxwell联合仿真速度太慢?我用这3个技巧把仿真时间砍半(附SVPWM周期与步长设置避坑)

本文详细介绍了Simplorer-Maxwell联合仿真性能优化的3个关键技巧,包括仿真步长与周期的科学配置、基于任务调度的加速技术以及模型简化与精度平衡。特别针对SVPWM参数设置提供了避坑指南,帮助工程师在不牺牲精度的情况下将仿真时间缩短50%以上,适用于电机驱动系统开发等场景。

weixin_29189381的博客 466

1999年-2022年 上市公司-企业劳动生产率数据(原始数据、代码、最终结果、参考文献)

上市公司企业劳动生产率数据集为企业和市场参与者提供了一个深入分析企业生产效率和劳动效益的工具。通过这些数据,企业可以不断探索创新的发展模式和管理方式,努力提高生产效率,为提升市场竞争力和盈利能力做出贡献。数据名称:上市公司-企业劳动生产率数据数据年份:1999-2022年数据来源:国泰安数据库1999年-2022年 上市公司-企业劳动生产率数据(原始数据、代码、最终结果、参考文献)

2401_84585615的博客 882

招聘靠谱程序员系列:2 什么情况使用 weak 关键字,相比 assign 有什么不同?

答: 1)、什么情况下使用weak: a)、在ARC中修饰代理 b)、使用@IBOutlet连接控件 c)、当block会造成循环引用 2)、与assign的不同 assign可以用于非对象类型,而weak必须用于对象类型 参考资料: 1、区别 1).修饰变量类型的区别 weak 只可以修饰对象。如果修饰基本数据类型,编译器会报错-“Property with ‘weak’ attrib...

SuAdrenine的博客 405

Zynq 双核AMP 通信

4、配置离线编译(这里不讲),配置linux的内核地址空间(0x4000_0000改为0x2000_0000),以及单核启动。CPU1设置为0x2000_0000~0x3FFF_FFFF(也可以小于0x3FFF_FFFF)如果禁用CPU1的L2 cache,在CPU1的bsp里面添加编译时候所需要的宏。3、配置工程,将vivado产生的.xsa文件复制到amp_com项目目录下。9、使用petalinux-package --boot 打包。一、vivado工程。5、编译u-boot。

y183128184的博客 1088

什么情况使用 weak 关键字,相比 assign 有什么不同?怎么用 copy 关键字?

在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端使用 weak 来解决,比如: delegate 代理属性自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用 weak,自定义 IBOutlet 控件属性一般也使用 weak;当然,也可以使用strong 不同点: weak 此特质表明该属性定义了一种“非拥有关系” (nonowning relationshi

u011169336的专栏 1401

openbmc mctp i3c适配步骤

本文介绍了在Intel OKS平台下,BMC作为I3C从设备如何适配MCTP over I3C的实现方法。主要内容包括:1)关键术语解释,如MDB(Mandatory Data Byte)值为0xAE,DCR(Device Characteristics Register)和BCR(Bus Characteristics Register)的设置;2)适配流程说明,包括BMC作为控制器主节点分配地址后成为MCTP端点,CPU作为总线所有者的角色转换;3)测试验证步骤,展示通过mctp-client工具发送指

wit_yuan的专栏 132

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9039

ios什么情况使用weak关键字,相比assign有什么不同?

都是用于修饰对象引用的关键字,但它们的用途和行为有显著区别。也可用于对象类型(如 Objective-C 中),但。,可能导致悬垂指针(Dangling Pointer)。),需手动管理生命周期,避免访问已释放对象。指针仍指向原地址(悬垂指针),访问会崩溃。,因为视图层级本身已由父视图强持有。在 iOS/macOS 开发中,,且在对象被释放时自动置为。当两个对象互相强引用时(如。:不能用于基本数据类型(如。)不应强持有委托对象(如。),需将其中一方改为。:需开发者手动处理。

qq_30279137的博客 560

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

什么情况下使用weak关键字,相比assign有什么不同

社么 转载于:https://www.cnblogs.com/SensenCoder/p/4885360.html

weixin_30715523的博客 84

温度PID控制PLC程序

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

weak和assign的区别,以及使用场景

相同点: assgin和weak均表明该属性定义了一种“非拥有关系”,即在为此种属性设置新值时,既不保留新值,也不释放旧值。 区别: (1)weak在对象销毁时,属性值会置为nil,而assign只会执行对“纯量类型”做简单的赋值操作。 (2)assgin可以用于非OC对象,例如float、bool、int等类型,而weak只可用于OC对象 使用场景:   we

ciwei_numberOne的博客 923

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

iOS关键词weak和assign的区别

一、区别 首先说说在什么情况下使用 weak 关键字 1、ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate 的代理属性。 2、自身已经对它有过一次强引用,所以没有必要再强引用一次。这个时候也会使用weak;还有就是自定义IBOutlet控件属性一般也使用weak,一般情况也可以使用strong。 那么weak和assign有什...

weixin_34206899的博客 129

Object-C assign与weak的区别

   从网上看了一下,发现很多朋友都整理的非常的详细了,我这里就不再做重复劳动了。转载文章地址: 一、区别 1.修饰变量类型的区别 weak 只可以修饰对象。如果修饰基本数据类型,编译器会报错-“Property with ‘weak’ attribute must be of object type”。 assign 可修饰对象,和基本数据类型。当需要修饰对象类型时,MRC时代使用unsafe_...

537

assign 与weak的亲区别

两者都可以保证对传入的对象不会改变引用计数,但是weak对象必须是oc对象。weak比assign强大的地方就是在指向的对象销毁时,所有指向该对象的weak指针都会置为nil。这样我们就可以写出如此简洁的判断if (self.delegate && [self.delegate respondsToSelector:@selector(test:)])。而在MRC中,如果直接写这样的代码,如果

lianhe2005的博客 252

weak和assign关键字有什么不同

简单的介绍了一下weak和assign。

ybcy0612的博客 1142

什么情况使用 weak 关键字,和assign何不同?

什么情况使用 weak 关键字? 1)在ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate代理属性 2)自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用weak,自定义IBOutlet控件属性一般也使用weak;当然,也可以使用strong。在下文也有论述:《IBOutlet连出来的视图属性为什么可以被设置成weak?

liao_huan_xin的博客 571

关于iOS中的strong,weak,assign,copy,retain等关键字的总结

1.IBOutlet可以为weak,NSString为copy,Delegate一般为weak。一般来说,类“内部”的属性设置为strong,类“外部”的属性设置为weak。说到底是一个归属权的问题。小心出现循环引用导致内存无法释放。 2.不用ARC的话就会看到很多retain。 3.如果你写了@synthesizeabc=_abc;的话,系统自动帮你声明了一个_abc的实例变量。

SkewRain的专栏 1228

深入理解@property的关键字:weak,strong,copy,assign,unsafe_unretained

深入理解属性中的关键字

Se7en丶潇洒哥 的博客 793

OC中@property属性关键字的使用(assign/weak/strong/copy)

一、assign 用于 ‘基本数据类型’、‘枚举’、‘结构体’ 等非OC对象类型 eg:int、bool等   二、 weak 1. 一般应用: UI控件 2. 详细说明: (1)为什么建议UI控件一般使用weak?首先我们从controller来看,controller是被系统用强指针引用着,所以如果 controller 还存在,里面的子控件也会存在,

zhonghang优快云_Block的博客 855

iOS中的strong,weak,assign,copy,retain等关键字的总结

1.如果你写了@synthesizeabc=_abc;的话,系统自动帮你声明了一个_abc的实例变量。2.nonatomic:非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。不同关键字的使用场景:使用assign:对基础数据类型(NSInteger)和C数据类型(int,float,double,char等)。使用copy:对...

plpldog的博客 287

assign weak retain strong copy关键字的区别

在iOS开发中定义@property属性时,经常用到assign、weak、retain、strong、copy等关键字。我们经常会考虑在何时应该使用哪个关键字,尤其是在面试的时候,经常会被问到这些关键字之间的区别,下面详细和大家探讨一下:   assign:用于对基本数据类型进行赋值操作,不更改引用计数。也可以用来修饰对象,但是,被assign修饰的对象在释放后,指针的地址还是存在的,也就是...

Andy Coding 7213
上一篇: 旋转动画
下一篇: 1970年时间转换
develop_csdn_LGQ
博客等级 码龄10年 21粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值