ObjC-为什么分别实现[alloc]和[init]方法时不正确? [复制]

2023-12-31

切勿在未重新分配指向该对象的任何指针的情况下初始化该对象。举个例子,不要这样做:

NSObject *someObject = [NSObject alloc];
[someObject init];

如果对 init 的调用返回某个其他对象,您将得到一个指向最初分配但从未初始化的对象的指针。

实际上,这是Apple的ObjC文档中的示例,但我对此不太清楚,即为什么NSObject *someObject = [[NSObject alloc] init]可以承诺返回我们刚刚需要的对象,同时NSObject *someObject = [NSObject alloc]; [someObject init];不能?


只是因为 -init 可能返回与 someObject 不同的东西。在您的示例中,您必须将指针重新分配给 -init 的结果。

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

ObjC-为什么分别实现[alloc]和[init]方法时不正确? [复制] 的相关文章

  • 如何在操作表中添加日期选择器?

    IBAction showCatPicker if self catList nil self catList nil catList release self catList NSMutableArray alloc init self
  • 在基于视图的 NSTableView 中,如何通过单击使控件成为第一响应者?

    基于视图的 NSTableView 似乎只有标准行为 为了使表内的文本字段成为第一响应者 用户必须双击或单击并 保持冷静 然而 考虑到基于视图的 NSTableViews 提供的灵活性 这种行为并不总是可取的 因为现在可能有很多不同且复杂的
  • iOS 上读取证书问题

    我正在尝试从 iOS 中的各种 URL 读取证书 然而 我的代码运行不佳 应该返回我需要的信息的数组总是返回null 我缺少什么 void findCertificate NSString url NSInputStream input N
  • 如何将媒体附件添加到 iOS 10 应用程序中的推送通知中?

    有多个示例 您应该如何设置项目来添加使用 媒体附件 技术来显示图像的丰富通知 我已经阅读了其中的大部分内容 但我错过了一些内容 因为我的项目没有使用此有效负载显示任何丰富的通知 使用 APNS Tool 和 Boodle 进行测试 aps
  • 动态框架中未定义的架构符号

    我正在开发一个 iOS 框架 该框架包含多个第三方框架并使用 UnitySendMessage C 方法与 Unity 进行通信 我想创建一个动态框架 支持 iOS8 但我偶然发现以下编译错误 Undefined symbols for a
  • iOS7 无法隐藏状态栏

    我刚刚将我的 iPhone 5 iOS 7 升级到了四个测试版 现在 当我在这台 iPhone 上通过 Xcode 5 运行我的应用程序时 状态栏不会隐藏 尽管它应该隐藏 不工作 UIApplication sharedApplicatio
  • Objective C - 动态属性的respondsToSelector

    我目前面临的问题是检查对象 NSManagedObject 的属性是否存在 不幸的是方法 MyObject class respondsToSelector selector myProperty 总是返回NO 我认为这是因为CoreDat
  • Xcode 4:获取请求模板变量?

    在 Xcode 3 X 中 您应该右键单击获取请求模板的谓词编辑器中的空白来指定变量输入而不是硬编码谓词 这是 XCode 4 中的哪里 我已经按住了选项 右键单击 选项单击等 但无法弄清楚 我认为X4不再有变量了 相反 我认为您必须选择一
  • 如何在 Objective-C 标头中引用 Swift 枚举

    有没有办法从 Objective C 标头引用 Swift 枚举 如果你想在 Objective C 头中查看 Swift 类 你可以使用 objc class Foo 我没有看到枚举有任何类似的东西 你想做的事情叫做forward dec
  • 如何将 JPG 文件加载到 NSBitmapImageRep 中?

    Objective C 可可 我需要将 JPG 文件中的图像加载到二维数组中 以便可以访问每个像素 我正在尝试 未成功 将图像加载到 NSBitmapImageRep 中 我尝试了以下两行代码的几种变体 NSString filePath
  • 在当前参数寄存器中找到的选择器名称:isEqual:

    我正在寻求一些帮助来消除 OSX 应用程序中的一个我无法解决的错误 我收到以下记录错误 Selector name found in current argument registers isEqual 但我一生都无法弄清楚它来自哪里 因为
  • 迁移大型 Core Data 数据库崩溃

    我有一个将产品存储在核心数据文件中的应用程序 这些产品包括作为 可转换 数据的图像 现在我尝试使用轻量级迁移添加一些属性 当我使用一个小型数据库对其进行测试时 它运行良好 但当我使用一个接近 500 MB 的大型数据库时 应用程序通常会因内
  • 从 iOS 中的 App Delegate 调用当前视图控制器中的方法

    我有两个视图控制器 BuildingsViewController 和 RoomsViewController 它们都使用应用程序委托中名为上传的函数 上传函数基本上执行一个 HTTP 请求 如果成功或不成功 都会触发 uialertvie
  • 在 Objective-C 中,逗号用作语句分隔符时有什么作用?

    我正在查看第三方的一些源代码 并且反复看到对我来说新的语法 基本上他们用逗号而不是分号分隔语句 它可以编译并运行 但我不明白它在做什么 看起来是这样 if url url release url nil 有时他们也会在不使用 if 的情况下
  • 如何在pop UIViewController中删除UIParallaxDimmingView?

    我有一个UIViewController vc1这是在之后推送的UIViewController vc2 Both vc1 and vc2具有透明背景 问题 当我尝试弹出时vc2使用交互式弹出手势 从边缘平移 在我看来堆栈显得很神秘UIPa
  • 使用UDID创建唯一的用户身份

    我正在开发一个 iPhone 应用程序 它与服务器通信以存储和交换数据 因为我想让它尽可能简单 所以我想避免用户帐户的注册 或者也可能使用密码 是否有可能 并且允许 获取 iPhone 设备的 UDID 并制作例如 它的 MD5 哈希值 我
  • 如何使用自动布局在自定义 UITableViewCell 内动态设置 UITextView 高度

    I have UITableView every tableViewCell is custom Inside my customTableViewCell is a UITextView TextViews frame is pin or
  • 在 UICollectionView 下面插入子视图

    当我在 UICollectionView 下方添加子视图时 有时子视图会显示在 UICollectionView 单元格上方 这是子视图插入代码 self collectionView insertSubview self garmentV
  • 永远不会在 ios 的 google API 中获取上传数据进度

    我在我的应用程序中使用 Google Drive API 从我的应用程序上传文件 到目前为止 我成功了 并找到了上传所有类型文件的良好结果 我跟着谷歌示例 https developers google com drive examples
  • 方法调用中的插入符[重复]

    这个问题在这里已经有答案了 我正在阅读本教程 并遇到了这行代码 这让我感到困惑 localSearch startWithCompletionHandler MKLocalSearchResponse response NSError er

随机推荐

  • 如何高效解析固定宽度文件?

    我正在尝试找到一种有效的方法来解析包含固定宽度行的文件 例如 前 20 个字符代表一列 从 21 30 开始代表另一列 依此类推 假设该行包含 100 个字符 将一行解析为多个组成部分的有效方法是什么 我可以对每行使用字符串切片 但如果行很
  • 具有多个条件的布尔索引[重复]

    这个问题在这里已经有答案了 我有一个熊猫DF我需要去哪里filter输出一些包含特征 a 和特征 b 的值 0 的行 为了检查这些值 我运行以下命令 DF1 DF DF a 0 它返回正确的值 同样 通过这样做 DF2 DF DF b 0
  • 来自 Pyspark ArrayType 列的随机样本

    我在 Pyspark 数据框中有一列 其结构如下 Column1 a b c d e c b d f g h i p l m 我想返回另一列 其中随机选择每行中的每个数组 以及函数中指定的数量 所以像data withColumn samp
  • 在套接字上多次调用listen——预期的行为?

    我在使用简单的基于 C 的服务器时注意到一些奇怪的事情 我的 Linux 4 10 3 系统上的程序 我不小心打通了电话listen 我在套接字上两次 来自服务器进程 被称为bind 早些时候 我注意到两个监听电话 成功 没有任何错误 事实
  • NSRulerView 如何将行号与正文正确对齐

    我在 MacOS 中使用 NSRulerView 来显示 NSTextView 旁边的行号 两个视图共享相同的字体和相同的字体大小 但是 在 NSTextView 中 字符串渲染是自动管理的 而在 NSRulerView 中 我需要计算正确
  • Symfony2 - 如何在控制器中使用 __construct() 并访问 Securty.Context?

    我在使用 Symfony2 时遇到了一些问题 即如何使用 construct 函数 官方文档非常糟糕 我希望能够使用以下内容 public function construct parent construct user this gt g
  • 修改Go GRPC服务器流拦截器上的元数据

    我一直在尝试在服务器流拦截器上设置元数据 以便实际的 RPC 函数可以在下游读取它们 func UserIDInterceptor srv interface ss grpc ServerStream info grpc StreamSer
  • 在 TestCafe 中测试运行期间累积所有 JS 警告和错误

    我希望能够在测试运行期间从浏览器控制台访问所有 J S 警告和错误 禁用 e 跳过 JS 错误 标志后 测试会在第一个错误处停止 因此显然它正在寻找它们 启用此标志后 我希望能够查看测试运行期间触发了哪些错误 最好是警告 我尝试过使用 Cl
  • 如何在没有请求正文的情况下发出 OKHTTP post 请求?

    有没有办法使用 OkHTTP 发出没有请求正文的 post 请求 RequestBody reqbody RequestBody create null new byte 0 Request Builder formBody new Req
  • 在 JavaScript 中等待不仅仅是将所有内容包装在 setTimeout 中

    因此 我正在创建一个机器人来在线玩视频游戏 完全合法 有一个用于机器人比赛的服务器 不用担心 代码是用 JavaScript 编写的 我现在刚刚开始学习 但我很难告诉机器人做某事 然后按时间或按条件等待 直到做其他事情 到目前为止 我只是将
  • OAuth2不同的客户端认证方式

    我有一个充当 OAuth 1 0a 提供商的 Web 服务 Web 应用程序通过 OAuth 1 工作流程来获取对用户资源的访问权限 到目前为止 一切都很好 客户端 Web 应用程序需要与服务进行通信以满足其他需求 以交换未链接到特定用户
  • 协助在我的本地主机应用程序上下载文件

    我有一个 ReactJS 网络应用程序 在其中一个页面上 我希望用户单击下载按钮 然后能够下载我的 pdf 文件assets文件夹 我在尝试执行此操作时似乎遇到了一些问题 这是我尝试过的 作为参考 我已经尝试过此中提出的解决方案questi
  • 从 Telegram 机器人获取用户的“Last Seen”?

    当我与 Telegram 用户聊天时 我可以看到每个用户的 最后一次见面 他们上次连接到 Telegram 的时间 即使我有一段时间没有与他们聊天 有没有办法通过机器人查询这些信息API https core telegram org bo
  • 已加载笔尖但未设置视图出口 - Swift 版

    我有一个项目 除了我的视图控制器是用 Swift 编写的之外 全部都是用 Objective C 编写的 当我运行它时 我收到错误 由于未捕获的异常而终止应用程序 NSInternalInconsistencyException 原因 UI
  • angular-ui-select2和breezejs:输入2个字符后加载ajax列表

    我有一个项目 我使用 BreezeJS 从我的网络服务器获取数据 我将 AngularJS 与 ui select2 模块一起使用 目前 当我加载页面时 breezejs 会调用以获取我转储到作用域变量中的数据 从那里 select2 可以
  • 自定义 Swing 组件:方法问题

    我正在尝试构建一个新的 java swing 组件 我意识到我也许能够在网络上找到一个可以满足我需要的组件 但这在一定程度上是我学习如何做到这一点的练习 我想构建一个代表甘特图的 swing 组件 这会很好 尽管人们能够与之交互并不是必需的
  • JRuby 1.7 上的 Rails 应用程序在 Nailgun 模式下无法启动

    我在 RVM 中安装了 JRuby 1 7 2 创建了 gemset 执行了捆绑安装 现在 我运行这个 Term 1 lzap lzapx my app bundle exec jruby ng serv NGServer started
  • Android Java 时间选择器对话框

    嘿 我正在尝试制作一个 TimepickerDialog 但当我按下 设置时间 按钮时 应用程序就崩溃了 这是代码 主要活动 package com wifitimer import java text DateFormat import
  • 有没有更好的方法让“std::tuple::operator==”从另一个命名空间利用“operator==”?

    我用的是Cstruct 我无法控制 并写了一个独立的operator 在命名空间中实现它 我还有另一个班级有 Cstruct作为会员 并且还拥有operator 执行 本来我有 include
  • ObjC-为什么分别实现[alloc]和[init]方法时不正确? [复制]

    这个问题在这里已经有答案了 切勿在未重新分配指向该对象的任何指针的情况下初始化该对象 举个例子 不要这样做 NSObject someObject NSObject alloc someObject init 如果对 init 的调用返回某