gpt4 book ai didi

ios - iOS中打印nil内存地址显示0x0表示没有存储空间?

转载 作者:行者123 更新时间:2023-11-28 19:26:48 26 4
gpt4 key购买 nike

我想知道nil[NSNull null]的区别,所以我用NSLog(@"nil==== =%p",nil), 和 NSLog(@"null====%p",[NSNull null]) 打印出它们的内存地址,但是打印的结果是 nil==== =0x0 ,null=== 0x1022c2f08,我不太明白0x0是什么意思,谁能帮我理解一下

最佳答案

Objective-C objects 的字面量 null 值。它表示一个指向 0x0 的 Objective-C 对象指针。所有 objective-c 指针都以 nil 开头。

NSNull

用来表示空对象的单例对象。它是空对象的包装器,所以你可以把它放在一个像NSArray/NSDictionary这样的集合中

NSArray * a1 = @[[NSNull null]]; //Good
NSArray * a2 = @[nil]; // Crash

More Details

关于ios - iOS中打印nil内存地址显示0x0表示没有存储空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53000822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com