Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 是/对的区别?_Iphone_Objective C_Macos_Ipad - Fatal编程技术网

Iphone 是/对的区别?

Iphone 是/对的区别?,iphone,objective-c,macos,ipad,Iphone,Objective C,Macos,Ipad,可能重复: 我有一个问题,可以很快回答。 我有以下代码: .h UITableView *table; .m table.hidden = YES; table.hidden = TRUE; 最后两行代码之间有什么区别吗?还是完全相同的是和真?在objective-c中是和真是一回事 此外,它们可以表示为1和0,因为它们通常以这种方式存储在核心数据中 [NSNumber numberWithBool:YES]仅提供了与C代码向后兼容的TRUE宏(Objective-C被设计为C的严格超集

可能重复:

我有一个问题,可以很快回答。 我有以下代码:

.h

UITableView *table;

.m
table.hidden = YES;
table.hidden = TRUE;

最后两行代码之间有什么区别吗?还是完全相同的是和真?

在objective-c中
是和
真是一回事

此外,它们可以表示为1和0,因为它们通常以这种方式存储在核心数据中


[NSNumber numberWithBool:YES]

仅提供了与C代码向后兼容的
TRUE
宏(Objective-C被设计为C的严格超集)。它们的意思是一样的。

目标C中
BOOL
的原始成功值是
YES
TRUE
只是为了兼容性而模仿它。您可以同时使用这两种语言,但我强烈建议您使用最初为该语言设计的语言。这一点很重要,以防将来的语言更新会改变语言语法中的任何内容(这种情况下不太可能发生),使用原始语法不会导致您修复旧代码中的任何内容。

我建议您选择一个并坚持使用它,最好是
YES
,因为这样可以更明显地看出您编写的是Objective-C代码,而不是纯C代码,但这实际上是一个惯例问题。我相信他们在Objective-C中使用
YES
,因为他们将
BOOL
变量表达为问题,以符合方法命名惯例。像
boolistrue=YES
它们像CD一样存储,因为核心数据存储对象,而BOOL不是,所以它使用NSNumber存储BOOL,类方法
numberWithBool
和实例mathed
boolValue
存储获取标量值。实际上,
YES
true
之间有一些细微差别。查看我的有趣问题: