- 声明时变量的默认值 -

2024-01-24

我想知道在初始化变量之前变量的默认值是什么......

例如,如果我这样做:

//myClass.h

BOOL myBOOL; // default value ?
NSArray *myArray; // default value ?
NSUInteger myInteger; // default value ?

这里还有一些例子:

//myClass.m
// myArray is not initialized, only declared in .h file

if ([myArray count] == 0) { // TRUE or FALSE ?

// do whatever

}

更一般地说,当我这样做时返回什么:

[myObjectOnlyDeclaredAndNotInitialized myCustomFunction];

谢谢您的回答。

Gotye.


答案是,这取决于变量定义的范围。

Objective-C 对象的实例变量总是初始化为 0/nil/false,因为分配的内存被清零。

全局变量是probably初始化为 0/nil/false 是因为当内存第一次分配给进程时,它也会被操作系统清零。然而,当然,我从不依赖它,并且总是自己初始化它们。

局部变量未初始化,并且将包含随机数据,具体取决于堆栈的增长/收缩方式。

注意,对于指向 Objective-C 对象的指针,您可以安全地将消息发送到 nil。因此,例如:

NSArray* foo = nil;
NSLog(@"%@ count = %d", foo, [foo count]);

完全合法,并且运行时不会崩溃,输出如下:

2010-04-14 11:54:15.226 foo[17980:a0f] (null) count = 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

- 声明时变量的默认值 - 的相关文章

  • 在 swift 中从本地视频创建缩略图

    如何从本地视频文件快速创建缩略图 例如 如果视频文件路径位于此处 file Users Dev Library Developer CoreSimulator Devices F33222DF D8F0 448B A127 C5B03C64
  • cocos2d 2.0-rc2:结束director并重新启动

    我有一款由 cocos2d 驱动的游戏 它使用 UIKit 菜单 所以我只使用一个视图控制器的框架 即游戏本身 而且 它只有一个场景 从cocos2d 2 0开始 director本身就是一个UIViewController子类 所以我只是
  • iPhone OpenGL ES 单视图还是多视图?

    我很困惑为 iPhone 编写游戏时最好的方法是什么 游戏将使用 OpenGL 渲染 但我很好奇创建开始屏幕 菜单 高分页面等 您是否使用 OpenGL 完成所有这些操作 或者创建额外的 UIView 并使用 UIKit 我认为没有最好的方
  • 如何在 JavaScript 中检查未定义的变量

    我想检查变量是否已定义 例如 以下内容会引发未定义的错误 alert x 我怎样才能捕获这个错误 在 JavaScript 中 null是一个对象 不存在的事物还有另一种价值 undefined DOM 返回null对于几乎所有无法在文档中
  • 创建具有动态更新变量的数组

    我有一些 PHP 变量 它们的名称直接链接到它们包含的函数 是否有办法自动创建这些变量 以便我可以使用所有变量 00 200 这就是我现在正在做的事情 regdays00 is user reg matured 00 regdays02 i
  • iPhone SDK:将 UIActivityIndi​​catorView 添加到 UITableViewCell

    为什么单元格在这段代码中没有显示任何内容 UIActivityIndicatorView spinner UIActivityIndicatorView alloc initWithActivityIndicatorStyle UIActi
  • 如何检测 iOS 8 上的包含应用程序是否启用了应用程序扩展?

    我正在 iOS 8 beta 上开发一个自定义键盘 我想告诉用户如果我的自定义键盘未启用 如何在包含应用程序中启用它 有什么方法可以检测应用程序扩展是否已启用 首先让我们设置一些常量 以便于彼此理解 包含应用程序 安装扩展并保存扩展二进制文
  • 基于 JavaScript 的 iPhone UI 框架

    我们有一个基于推送的网络应用程序 最近 我们计划为其制作一个 iPhone 应用程序 就像 Facebook 拥有 iPhone 应用程序和网站一样 我们正在寻找一个可以让我们快速前进的 UI 框架 我翻阅过PhoneGap http ww
  • TableView 中图像的大小不正确

    我正在使用来自 URL 的图像创建一个表视图 但图像不会调整到所有视图的大小 直到我将其按入行中 知道为什么会发生这种情况吗 这是一个自定义的表格视图 我的代码是 UITableViewCell tableView UITableView
  • 如何在iphone APP中下载facebook和Picasso的图片

    任何人告诉我有关 iphone 中从 facebook 和 picassa 下载图像的功能 我正在其中制作应用程序 我想制作通过我的应用程序从 picassa 和 facebook 下载选定图像的功能 那么我必须做什么 谢谢 查看NSURL
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • 如何设置仅适用于 iPhone 或 iPad 的视口?

    我有一个网站 需要在 iphone 上使用 0 3 的视口值 但在 ipad 上使用 0 7 有没有办法只为 iPhone 或 iPad 设置视口 这是一种解决方案
  • iOS 7 导航栏颜色在 iPhone 4 上无法正确显示

    我的导航栏颜色在 iOS 7 中正常显示 部署iOS 6 0 但如果系统版本是iOS 7 0或更高版本 部分导航栏颜色在iPhone 4上无法正常显示 在iPhone 5上工作正常 我是这样做的 if SYSTEM VERSION GREA
  • presentRenderbuffer :GL_RENDERBUFFER_OES 需要很长时间

    我在游戏中添加了一个分析器并隔离了此功能 有时 它会导致 FPS 下降 这是我的结果 Present buffer time 22 Present buffer time 1 Present buffer time 9 Present bu
  • 无需 iPhone 6 Plus 即可预览 iOS 应用程序

    我已经在 Yosemite 中使用 iPhone 6 和 Quicktime 完成了 iOS 应用程序预览 视频 但我无法在 iTunes Connect 中为 iPhone 6 上传它 而且我没有 iPhone 6 设备 有没有办法在没有
  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 使用 AudioStreamer 获取 MP3 ID3 元数据和歌曲持续时间

    我在用着马特 加拉格尔的 AudioStreamer http cocoawithlove com 2008 09 streaming and playing live mp3 stream html通过 HTTP 播放 MP3 我需要知道
  • 如何将“mysql source”命令与 mysql 变量一起使用?

    我需要从 mysql shell 执行一个基于如下条件的 SQL 文件 mysql gt 源 var 其中 var 包含文件名 这不可能 source是MySQL客户端程序在本地识别并执行的命令 变量存在于服务器上 因此客户端不知道什么 v
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • iPhone 3GS 上的 ARM 与 Thumb 性能比较,非浮点代码

    我想知道是否有人有关于 iPhone 3GS 上 ARM 与 Thumb 代码性能的硬性数据 特别是对于非浮点 VFP 或 NEON 代码 我知道 Thumb 模式下的浮点性能问题 更大的 ARM 指令的额外代码大小是否会在某个时刻成为性能

随机推荐

  • 清除:两者或溢出:自动,哪个更好?

    我真的不明白有什么区别明确 两者 and 溢出 自动 我对其进行了测试 功能的工作方式相同 有人会解释为什么这两者的工作方式相同吗 从我在一些文章和问题中看到的 Overflow auto 可以在内部有浮动的容器中使用 并且使用空 div
  • 使用一个 LINQtoSQL 语句返回不同的对象

    我有一个由员工和学生实施的IPerson 我什么really想要的就是你在下面看到的 一个 LINQ 语句即可获取每种类型的 IPerson 在我调用该方法之前 这非常有效 为什么我会收到错误 这是有道理的 但我真的很难找到一种合适的方法来
  • 如何使用 CSS 和 JavaScript 制作可更改的主题

    我对 CSS 和 JavaScript 还很陌生 我想知道您是否可以制作一个脚本来更改网站使用的样式表 说 你有一个绿色主题 所有东西都是绿色的 您会怎么做 以便用户可以通过按下按钮将其更改为红色 有谁知道如何做到这一点 您可以为链接标签设
  • 创建游戏插件时出现 SerpentAI 错误

    我最近安装了 SerpentAI 但在创建游戏插件时遇到了问题 运行命令时 serpent generate game 我提供以下答案 RaftWars 网页浏览器 What is the name of the game Titleize
  • 如何将跟踪信息保存到文件中

    我正在通过启用跟踪来跟踪我的 ASPX 页面web config
  • 何时对片段使用 onCreateView?

    我正在按照以下步骤操作 http developer android com training basics fragments creating html AddInLayout http developer android com tr
  • “Image Literal”命令在 Xcode 中不起作用

    我开始学习 swift 语言 有一个命令 Image Literal 可以添加图像 但它没有显示任何内容 除此之外 如果我尝试任何其他编码 它会自动得到建议 但图像文字根本不起作用 我正在使用 Xcode 13 任何线索都会非常有帮助 对于
  • Blazor客户端发送电子邮件

    我在 Razor 页面中包含了一个联系表单 以便用户可以在其中填写他的电子邮件 主题和正文 当他提交时 电子邮件会发送到我的电子邮件地址 我的代码看起来像这样example https learn microsoft com fr fr d
  • 为什么 C++11 允许 GC? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Swift - 查找字符串中两个位置之间的子字符串

    我有一个格式如下的字符串 XbfdASF FBACasc Piida bfedsSA XbbnSF vsdfAs 基本上它是一个 ID ID 然后又重复 我有第一个 ID 我需要找到它的合作伙伴示例 我有 Piida 我需要找到 之后紧随其
  • php 中的 mkdir() 将文件夹权限设置为 755 但我需要 777?

    我试图使用 php 在我的服务器上创建一个文件夹 当我将其设置为 0777 时 它显示为 755 mkdir create path 0777 谢谢 尝试这个 old umask umask 0 mkdir create path 0777
  • MongoDB $lookup 对带有引用 objectId 的对象数组进行查找

    我有订单集合 我正在从中获取数据 如下所示 id 628216b7b30bb8aa80c8fd1a promotionsDetails companyTotalPrice 27 promotionsData id 621de063bb5f9
  • 如何从函数标记的页面源代码中获取值?

    这是源代码中的函数 function dosubmit if getObj Frm Username value getObj errmsg innerHTML Username cannot be empty getObj myLayer
  • Android 互联网连接检查更好的方法

    根据 Android 开发者网站 确定和监控连接状态 https developer android com training monitoring device state connectivity monitoring html 我们可
  • ggplot2:scale_alpha() 的阈值

    是否可以指定色标的阈值 看这个例子 xy lt expand grid x 1 20 y 1 20 xyd lt data frame xy z runif 400 a rowSums xy 40 g lt ggplot xyd aes x
  • SharePoint 2007:如何限制字段级别的访问?

    是否可以在 SharePoint 2007 列表 MOSS 尽管我不认为这是企业版 中允许一个 SharePoint 组中的用户编辑某些字段中的值 而另一组中的用户编辑其他字段中的值 从我所做的所有搜索来看 这似乎是不可能的 因此作为后备
  • 当我们使用核心数据时,我们应该创建模型类吗?

    我正在开发一个 iPad 应用程序 如果用户无法访问互联网 则需要我在本地存储数据 然后与后端数据库同步 对于本地存储 我计划将 Core Data 与 SQLite 结合使用 我第一次使用 Core Data 它似乎检索实体并以字典的形式
  • 我需要一种人类可读且可解析的文档格式

    我正在从事其中一个项目 其中有一百万种更好的方法来完成我所需要的 但我别无选择 我必须这样做 这里是 有一个网络表单 当用户填写并点击提交时 将使用表单数据创建人类可读的文本文件 它看起来像这样 field 1 value for fiel
  • 将文件上传到 Google Cloud Storage:500 后端错误

    我们尝试将文件上传到 Google Cloud Storage 然后再将其移至 BigQuery 但在某些上传过程中 我们经常遇到 500 内部服务器错误 或 410 消失 原始消息如下 我们使用的是官方 SDK 并添加了指数退避重试 但错
  • - 声明时变量的默认值 -

    我想知道在初始化变量之前变量的默认值是什么 例如 如果我这样做 myClass h BOOL myBOOL default value NSArray myArray default value NSUInteger myInteger d