NSString *string = @"someString" vs NSString *string = [[NSString alloc] initWithFormat@"%@", string]

2023-12-07

如果我有一个方法

- (void) myMethod:(NSString *)string {
    [Object anothermethodWithString:string];
}

我打电话给

[Object myMethod:@"this is a string with no alloc statement"]

我需要做类似的事情吗

- (void) myMethod:(NSString *)string {
    NSString *string2 = [[NSString alloc] initWithFormat:@"%@", string];
    [Object anothermethodWithString:string2];
    [string2 release];
}

而不是我之前使用 myMethod 的方式?我有行为不当的代码,似乎是由在调用另一个方法中的第二个方法时自动释放字符串引起的(如示例中所示)。第二种方法是我用 myMethod 解决了我所有的问题。

那么“非分配”字符串是自动释放的字符串吗?我问这个问题是作为另一个问题的后续问题(这是完全不相关的,也是我创建这篇文章的原因),一些消息来源说我不需要重新分配字符串。我很困惑,因为我的代码的行为告诉我不然。


戴夫说得对。您只需要担心打电话release在你认为的物体上new, alloc, retain, or copy.

上述规则非常有效,但如果您很好奇并想了解更多细节,我建议您阅读内存管理编程指南来自苹果的文档。它是免费的,并且从基本概念到很多细节。

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

NSString *string = @"someString" vs NSString *string = [[NSString alloc] initWithFormat@"%@", string] 的相关文章

  • 访问目标 c 中的类方法。使用 self 还是类名?

    我正在学习 iOS 编程 并且对以下有关关键字 self 的使用的代码感到困惑 据我了解 self就像Java的this 它指的是当前实例 当我想调用类方法时 通常的方式应该是这样 PlayingCard validSuits 但是侵入实例
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • 处理 UICollectionView 中的点击手势

    由于我无法使用任何框架来创建相册 因此我尝试使用 Collection View 创建自己的相册 但我一开始就陷入困境 我的目标是将网络服务中的所有图像显示到我的集合视图中 因为所有图像都已显示 下一步是当有人点击任何单元格时 我可以在新视
  • 如何为 UIImageView 随机化器实现滑动手势

    我一直在浏览大量的教程和问题 但似乎找不到我要找的东西 我有一种感觉 我只是错过了一个简单的步骤 我仍在学习诀窍 所以请承受和我一起做这个 我正在 xcode 4 3 3 上制作图像随机化器 并且我已经能够使用按钮来随机化图像 但我希望它能
  • 隐藏选项卡栏项目并对齐其他选项卡项目

    在我的应用程序中 我有 4 个选项卡栏项目 我正在 XIB 文件中添加这 4 个选项卡栏项目 最初我必须显示 3 个选项卡栏项目 同步后我必须在我的应用程序中显示第 4 个选项卡栏项目 因此 为此 我使用以下代码隐藏第四个选项卡栏项目 se
  • React Native - NSNumber 无法转换为 NSString

    下面是我的反应组件的一部分 我有一个名为 daysUntil 的道具进入此组件 其中包含一个数字 在此示例中 传递数字 0 导致 fontWeight 函数返回 700 render function return
  • CAShapeLayer 上的渐变颜色效果

    我正在尝试在 CAShapeLayer 上应用渐变颜色 为此我编写代码 void addCircle Drawing code UIBezierPath aPath UIBezierPath bezierPathWithArcCenter
  • 在 iOS 中发送音频文件和 JSON 字符串

    我正在尝试将音频文件和 JSON 字符串发送到 PHP 服务器 使用以下代码将发送 JSON 但文件到达时为空 如果我将 JSON 块放在音频块下方 文件将完全到达 但 JSON 为空 有什么想法吗 void sendFile NSStri
  • NSMutableArray writeToFile:atomically 在设备上总是返回 NO,但在模拟器上工作正常

    我在 xcode 项目的资源中有一个 plist 文件 其根类型为 Array 单击按钮 我需要访问此 plist 并查找 plist 是否已包含特定项目 如果未将新项目 NSString 写入 plist 我这样做如下 NSMutable
  • 为什么 toDataURL 在移动设备上无法获取画布内容?

    我正在尝试从画布中获取图像 它可以在电脑浏览器上运行 但不能在移动设备上运行 我在 iPhone 上的 Safari 中进行了测试 这是代码 draw click function drawing css visibility visibl
  • _bstr_t 内存泄漏

    我有一个 C 代码 但它没有正确释放内存 告诉我哪里错了 这是我的代码 1 void MyClass MyFunction void 2 3 for int i 0 i
  • 是否可以恢复我删除的 xcdatamodel 文件?

    我愚蠢地删除了它 我删除了其中包含不同版本的文件 我可以恢复到旧快照 但从那时起我就已经完成了工作 是否可以恢复到我的存档之一 或者我只能从那里提交 共享 我仍然可以运行该应用程序 但我需要对数据库进行更改 Xcode 将 xcdatamo
  • 我的 iPhone 6 获取 iPhone 5 媒体查询

    我不明白这里发生了什么事 我在 CSS 媒体查询中专门针对 iphone 5 media only screen and min device width 320px and max device width 568px some div
  • 如何获得 UICollectionView 的矩形

    我想在 UICollectionView 中找到节标题的框架 我对 UITableView 也有类似的情况 为此 我能够通过执行以下操作来获得其正确性 CGRect rect self tableView rectForHeaderInSe
  • 在 XCode 中本地化 HTML 文件

    我有一个本地化的 iOS 应用程序 我希望在其中包含一些本地化的 HTML 文件 我不知道该怎么做 目前 我的文件夹结构如下所示 myapp en lrproj Localizable strings fr lrproj Localizab
  • UISearchDisplayController—为什么我的搜索结果视图包含空单元格?

    我快要疯了 在我的核心数据数据库中 我有很多用户 我已经通过 NSFetchedResultController 将数据库连接到 tableviewcontroller 当视图加载时 我看到了所有用户 我可以通过 Storyboard Se
  • XOR或其他简单的文件混淆方法ios目标c

    我正在开发一个使用受版权保护的 pdf 文件的 ios 应用程序 我正在寻找一些简单的方法来混淆文件以确保安全 这些方法不需要我经历额外的大众市场 CCATS 加密审查流程 但也将确保版权所有者已尽我所能来保证他们的数据安全 当然 我用密码
  • 在 UIScrollView 中禁用 2 根手指滚动

    我想在我的应用程序中禁用两指滚动UIScrollView 我对其进行了子类化 并使用以下代码调整了其内置手势识别器 for UIGestureRecognizer mgestureRecognizer in scroller gesture
  • 初始化Object中的空字符串?

    有人使用以下方法来初始化 NSstring NSString astring NSString alloc init 我想知道为什么不直接使用 NSString atring nil or NSString astring 没有semant

随机推荐