当 dec 不为 0 时,为什么 0xF00 被解释为 NO

2024-04-26

我发现

BOOL x = (BOOL)0xF00;

is NO... 价值0xF00非零,但结果仍然是NO

但这打破了我的范式,BOOL 应该作为

NO == 0, YES == any other value

为什么会这样呢?这是否意味着检查

if (object) {}

不安全吗?


BOOL被定义为有符号字符,为 8 位。但0xF00需要8位以上。因此编译器采用最低 8 位,其值为 0。当我尝试时,编译器特别警告此问题:

warning: implicit conversion from 'int' to 'BOOL' (aka 'signed char') changes value from 3840 to 0 [-Wconstant-conversion]

如果您要为BOOL变量,那么您的范式需要考虑值的表示方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 dec 不为 0 时,为什么 0xF00 被解释为 NO 的相关文章

  • 多线程:只有在执行完其他方法后才调用执行方法

    我正在尝试根据要求异步处理方法 一旦第一个方法完成 只有第二个方法应该开始执行 问题是第一个方法本身具有在后台线程上运行的代码 我尝试了dispatch semaphore wait 但这也不起作用 dispatch queue t que
  • 以 at (@) 符号为前缀的 Objective-C 宏的含义

    ReactiveCocoa 框架利用weakify and strongify宏 两者前面都有一个 符号 这是一个例子 从这个file https github com ReactiveCocoa ReactiveCocoa blob fd
  • iphone XMPP 应用程序运行后台

    我使用 XMPP 框架创建了一个聊天应用程序 当我退出应用程序 进入后台模式 时 我想接收聊天消息 并且还需要显示图标徽章 我该怎么做 您确实可以通过将基于 XMPP 框架的应用程序称为 VoIP 应用程序来在 iOS4 中的后台运行该应用
  • Xcode 不再识别测试

    我已经解决这个问题几天了 但我没有任何想法 我在 Xcode 中使用单元测试 效果很好 突然 Xcode 不再识别我的测试 如果我进入测试面板 它会显示我的测试为零 我其实有13个 运行单独测试或某些课程的能力现已消失 它不会在编辑器区域的
  • IOS 7 UITextField resignFirstResponder 坏

    当我在自定义单元格内使用 UItextField 时 以及当我 resignFirstResponder 文本字段时 我发生崩溃 但它不再可见 表视图滚动到窗口外 我仍然可以找到文本字段 指针继续可访问 它不为空 并且崩溃仅发生在 IOS7
  • 在 Objective-C (iPhone) 中从 Excel 文件读取数据 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 google 中搜索过 但似乎没有找到从 Objective C 读取 Excel 文件的方法 我找到的唯一答案是首先转换为 CSV
  • iPhone UIDatePicker 风格

    有什么方法 技巧可以更改 uiDatePicker 的大小 字体 背景颜色等吗 甚至背景颜色属性也不起作用 并且选择器的默认样式与我的应用程序的设计无关 也许你可以使用 UIPickerView 来代替 我见过人们使用图像作为背景 不过 您
  • 阻止 OpenGL.framework 在 Cocoa 应用程序中加载

    我的应用程序链接到这些框架 Cocoa Framework AppKit Framework CoreData Framework Foundation Framework 请注意 OpenGL Framework 是NOT已链接 但是 设
  • 检查 Objective-C 中从 JSON 字符串返回的空值

    我有一个JSON来自网络服务器的对象 日志是这样的 status success UserID 15 Name John DisplayName John Surname Smith Email email Telephone null F
  • UINavigationBar 未在横向“返回”时更新

    我正在开发 UINavigationController 驱动的 iPad 应用程序 在模拟器中测试 导航控制器堆栈上只有两个 UIViewController 为了演示 我们将它们称为 SetupController 和 ContentC
  • 为什么 UIScrollView 在顶部留有空间并且不滚动到底部

    我是 Objective C 编程新手 我正在使用 UIScrollView 及其上的一些标签 图像和文本视图 我已关闭自动布局 并已尝试打开 调整滚动视图插图 标题中描述的情况 和关闭 不滚动 这是我插入 viewDidLoad 的内容
  • UIPageControl 未显示

    我使用以下内容来显示滚动视图和页面控制 scrollView UIScrollView alloc initWithFrame CGRectMake 0 0 320 179 pageControl UIPageControl alloc i
  • 使用 MPVolumeView 滑块调整音量时隐藏设备音量 HUD 视图

    我在 iPad 应用程序中使用 MPMoviePlayer 实现视频播放器 使用 MPVolumeView 进行音量控制 我的问题是 当我滚动音量视图来调整音量时 会显示设备的音量平视显示器覆盖 如下面的屏幕截图所示 如何禁用此系统音量指示
  • 电子邮件在 ShareKit 中不起作用并且没有错误

    我正在使用 ShareKit 将 Facebook Twitter 和电子邮件共享添加到我的 iPhone 应用程序中 现在 Facebook 和 Twitter 可以使用 但电子邮件无法使用 最大的问题是没有错误或任何错误 它正常工作 但
  • 当使用 loadView 创建视图时,视图的框架大小在旋转时不会改变

    我有没有 xib 的 UIViewController 并且我正在使用 loadView 来构建创建并添加两个滚动视图的 UI 问题是 当旋转发生时 主视图框架的大小不会改变 我的意思是 我在 loadView 中设置主视图的初始帧大小 纵
  • 如何对其中包含自定义对象的 NSMutableArray 进行排序?

    我想做的事情看起来很简单 但我在网上找不到任何答案 我有一个NSMutableArray对象 假设它们是 Person 对象 我想排序NSMutableArray通过 Person birthDate 这是一个NSDate 我认为这与这个方
  • 从 NSString 获取子字符串,直到到达特定单词

    假设我有这个NSString Country Address Tel number 我该如何获取之前的子字符串Tel 国家地址 然后我该如何获取后面的子字符串Tel 数字 使用 NSScanner NSString string Count
  • 如何确定 NSURLSessionTask 请求何时开始?

    I use NSURLSessionTask我正在尝试监视我的一些 HTTP 请求需要多长时间 我可以监视什么委托方法 或其他方法 NSURLSessionTask实际上提出了最初的请求 如果这是一个NSURLConnection里面一个N
  • 如何使用 iPhone 将照片上传到服务器?

    我正在编写一个 iPhone 应用程序 它可以拍摄照片然后将其上传到服务器 如何使用 Cocoa 将照片上传到服务器 我想我在某处使用 NSUrl Thanks Header interface EPUploader NSObject NS
  • 尝试将 indexPath 保存到 NSUserDefaults 时出错

    我试图保存 UICollectionView 的索引路径 但出现以下错误 libc abi dylib terminating with uncaught exception of type NSException 我的代码是 保存索引路径

随机推荐