NSMutableData 的 mutableBytes 和 bytes 方法之间的区别

2023-12-23

两者都返回相同的指针。我知道- bytes属于NSData, 为什么NSMutableData介绍- mutableBytes?是否只是为了代码清晰,以便更明显地访问可变数据?使用哪一个真的很重要吗?

NSMutableData* mydata = [[NSMutableData alloc] init];
[mydata appendData: [@"hello" dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"%p", [mydata mutableBytes]);
NSLog(@"%p", [mydata bytes]);

Thanks.


有几个原因NSMutableData可能会提供一个单独的mutableBytes method:

  • 正如您在问题中所建议的,使用mutableBytes向读者明确您想要更改数据。

  • The bytes方法返回一个const void *. The mutableBytes方法返回一个void *。如果你想改变字节,你需要一个void *没有const预选赛。这mutableBytes方法消除了丢弃的需要const预选赛。

理论上可能还有第三个原因:-[NSData mutableCopy]方法可以返回一个NSMutableData指向与原始缓冲区相同的缓冲区NSData,并且仅在调用时创建缓冲区的新的可变副本mutableBytes。然而,根据我非常有限的测试,我认为它不是以这种方式实现的。

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

NSMutableData 的 mutableBytes 和 bytes 方法之间的区别 的相关文章

  • UITableView 给出空表,不加载数据

    当保存我的表的视图是主 第一个 视图时 一切正常 但是 当它不是第一个视图并且我切换到该视图时 我的表不会加载数据 并且我得到一个空桌子 使用 NSLog 我可以看出该程序是不调用 numberOfRowsInSection 和 cellF
  • iOS通过AVAssetWriter反转音频

    我正在尝试使用 AVAsset 和 AVAssetWriter 在 iOS 中反转音频 以下代码可以正常工作 但输出文件比输入文件短 例如 输入文件的持续时间为 1 59 但输出文件的持续时间为 1 50 且音频内容相同 void reve
  • 自动布局+基于总行数的动态表高度约束

    首先 这与动态单元格的高度无关 所以不要把它搞混了 我有一个场景 我创建了三张卡 详细信息卡 显示位置的具体详细信息 图表卡 根据选择显示不同的图表 更多详细信息卡 卡显示更多详细信息 以下是上述卡片的屏幕 查看以上屏幕的层次结构 Cont
  • 我可以在滚动时固定表格的 tableHeaderView 位置吗?

    我有一个表视图 并在其 tableHeaderView 上附加了一个 UISegmentedControl 如何使 tableHeaderView 固定 以便即使在滚动表视图时也始终可以在同一位置查看 UISegmentedControl
  • 将 NSDictionary 保存到文件有任何限制吗

    我想用下面的方法来保存NSDictionary void writeDicToFile NSDictionary dic fileName NSString fileName NSString filePath NSTemporaryDir
  • MIDI 文件解析

    我们如何使用 Objective C 进行 MIDI 文件解析 在Java中用于MIDI文件解析的包名为javax sound midi Objective c 有什么东西吗 如果你们中有人回复的话将会有很大的帮助 提前致谢 您可以使用 C
  • 为什么使用 UIImageJPEGRepresentation 方法通过 writetofile 保存的 .jpeg 文件大小比 ios 中的 UIImageWriteToSavedPhotosAlbum 大

    我正在尝试拯救一个UIImage设备中 jpeg 文件的对象 我正在使用这段代码 void saveImageToDocumentsDirectory UIImage mimage withFileName NSString fileNam
  • 使用 Python 查找 Mac OS X 中的当前活动窗口

    有没有办法使用 Python 在 Mac OS X 上查找给定时间当前活动窗口的应用程序名称 这应该有效 usr bin python from AppKit import NSWorkspace activeAppName NSWorks
  • 如何自定义 NSSlider

    我正在尝试在 Cocoa 中实现一个具有 5 个值的自定义滑块 查看我的演示项目 可以在此处下载 http s000 tinyupload com index php file id 07311576247413689572 http s0
  • 应用程序在第二次运行 nsnull 计数的循环时崩溃

    我有一个循环 第一次运行正常 但第二次循环时我得到 NSNull count unrecognized selector sent to instance 0x3a094a70 Terminating app due to uncaught
  • 使用 NSSet/NSMutableSet 来过滤对象?

    我已经看到一些有关使用 NSSet NSMutableSet 过滤对象的问题 答案 这些情况使用简单类型的对象 例如NSString or int 以下是用于过滤的代码示例NSString对象 NSSet smallArray NSSet
  • 跟踪所有 ObjC 方法调用?

    有时 当查看别人的大型 Objective C 程序时 很难知道从哪里开始 在这种情况下 我认为记录对每个非 Apple 方法的每次调用会很有帮助 有没有办法做到这一点 基本上 在某个中心位置进行一项更改 并记录调用的每个方法 最好仅限于非
  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • Objective-C 实例变量?

    我确信我在这里的困惑只是因为陷入 Java 思维方式 并且不理解 Obj C 在这种情况下有何不同 在Java中 我可以在类中声明一个变量 就像这样 并且每个instance该类的 将会有它自己的 MyClass String myVar
  • 使用 Objective-C 在 iPhone 应用程序中显示或隐藏 UIButton

    我在用UITextView编辑文本 我想用两个UIButtons编辑并保存 最初我想显示编辑UIButton 当用户单击编辑时我想显示保存UIButton 当内容成功保存后 我不想再显示保存按钮 我是一名 C 编码员 在 C 中我曾经这样做
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 从 NSError 返回 NSString

    我正在使用NSURLRequest我的 iPhone 应用程序中的类 调用它的方法返回一个NSString这对于连接正常时非常有用 但问题是我需要将 NSError 转换为 NSString 以便我可以将其返回或运行一些if 对此的声明 有
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间

随机推荐

  • SQLAlchemy批量更新策略

    我目前正在使用 SQLAlchemy 在 GAE 上 连接到 Google 的云 MySQL 编写一个 Web 应用程序 Flask 并且需要对表进行批量更新 简而言之 进行了大量计算 导致需要在 1000 个对象上更新单个值 目前我正在一
  • 如何做好复杂功能的基准测试?

    我即将开始对 C 中的一组复杂函数进行非常详细的基准测试 这是 科学级别 的细节 我想知道 进行认真的基准测试的最佳方法是什么 我正在考虑运行它们 例如 每个运行 10 次 平均计时结果并给出标准开发 例如 仅使用
  • 使用 Twitter API 时收到“Stream遇到 HTTP 错误:403”。是什么原因导致此错误以及如何修复它?

    我对使用 Twitter API 非常陌生 并且正在测试一些 Python 代码 如下 from tweepy import OAuthHandler from tweepy import Stream import twitter cre
  • 例外首先出现在哪种语言中?

    我第一次接触到例外是在 ADA 83 中 据我所知 例外的概念是 ADA 的设计者发明的 这是真的吗 或者之前的任何编程语言也使用异常吗 根据c2 com 的突破性语言页面 http www c2 com cgi wiki GroundBr
  • 如何仅替换找到的文本的一部分?

    我有一个文件 其中包含一些逗号分隔的名称和一些逗号分隔的帐号 名字永远是这样的Dow John和像这样的数字012394 19862 Using 记事本 的 正则表达式查找 功能 我想用管道替换数字之间的逗号 基本上 turn Dow Jo
  • 为什么灰度图像有3个通道

    我正在对灰度图像执行操作 这些操作的结果图像具有与输入图像相同的扩展名 例如 如果输入图像是 jpg or png输出图像是 jpg or png分别 我将图像转换为灰度 如下所示 ImgProc cvtColor mat grayscal
  • 与机器人框架一起使用时,aspnetcore 中的 CloudStorageAccount 不明确

    我刚刚升级了基于 SDK v4 并使用 aspnet core 构建的机器人框架项目 现在我最终遇到了 CloudStorageAccount 类的冲突 它说 类型 CloudStorageAccount 同时存在于 Microsoft A
  • 什么是routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

    What is routes IgnoreRoute resource axd pathInfo 我在项目中找不到任何 axd 文件 我可以删除此路由规则吗 axd 文件实际上并不存在 ASP NET 在内部使用带有 axd 扩展名的 UR
  • rust dyn 特征变量具有不同的泛型类型?

    我对 Rust 还很陌生 尝试使用diesel rs 创建数据库连接 这是我的代码的一部分 use diesel Connecction use diesel mysql MysqlConnection use diesel sqlite
  • 为什么以下使用方法引用的转换不会产生编译错误? [复制]

    这个问题在这里已经有答案了 public class SomeClass public static int someFunction int a return a public static void main String args C
  • 在 Windows 上使用 Xamarin Studio 构建 iOS 应用程序

    是否可以使用在 Windows 上运行的 Xamarin Studio 构建 iOS 应用程序 并将其连接到在 mac 上运行的 Xamarin ios 构建主机 The 我见过的例子 http docs xamarin com guide
  • C++ 中的正态(高斯)分布函数

    我需要知道一种方法来获得 50 个数字的高斯分布 我知道 Boost 库 它可以生成随机数 就我而言 我不需要随机数 我需要 50 个数字的正态分布 我如何在 C 中做到这一点 从 C 11 开始 标准库中提供了正态 高斯 分布 http
  • 如何将通用委托参数传递给 .NET 2.0 中的方法

    我有一个带有委托声明的类 如下 Public Class MyClass Public Delegate Function Getter Of TResult As TResult the following code works Publ
  • 服务器到服务器 > 检索远程 zip 文件并将其解压到本地服务器目录

    我在服务器 B 上有一个 wp 插件文件 其目的是从远程服务器 A 检索 zip 文件 服务器 B 收到 zip 文件后 应提取内容并将文件复制到服务器 B 上的特定文件夹中 覆盖任何现有文件 我从下面的文件中借用了一些代码 该文件使用上传
  • 使用 Android NDK 编译原生 C++ 共享对象

    我已经生成了一个 so在 Linus 上通过 C 文件并得到 so现在生成文件我已经交叉编译了这个 so归档Android ARM所以我必须通过编译它Android NDK这样新生成的 so可以在我的android项目中使用 那么任何人都可
  • TRY_PARSE 与 TRY_CONVERT

    我目前正在学习我的 MCSA 数据平台 我错误地回答了以下问题 我正在寻找解释为什么我的答案是错误的 因为测试中的解释没有多大意义 您有一个名为 AuditTrail 的表 用于跟踪对其他表中数据的修改 AuditTrail 表由许多进程更
  • 我可以在java中使用方法链接的抽象构建器类而不执行不安全操作吗?

    我试图为某些构建器类提供一个抽象基类 以便我可以轻松地在构建器实现之间重用代码 我希望我的构建器支持方法链接 因此方法必须返回最具体类型的 this 实例 我想我可以用泛型来做到这一点 不幸的是 我无法在不使用不安全操作的情况下做到这一点
  • 生成器不是迭代器吗?

    我有一个生成器 一个产生东西的函数 但是当试图将它传递给gensim Word2Vec我收到以下错误 类型错误 您不能将生成器作为句子参数传递 尝试迭代器 生成器不是迭代器的一种吗 如果没有 我如何从中创建一个迭代器 查看库代码 它似乎只是
  • 范围为“class”的 Pytest 装置不适用于“setup_class”方法

    我目前正在使用pytest addoption运行我的 API 测试 因此测试应该针对用户在命令行上使用的环境运行 在我的测试文件中 我试图实例化UsersSupport只上一次课 就通过了env争论 我的代码 测试 py import p
  • NSMutableData 的 mutableBytes 和 bytes 方法之间的区别

    两者都返回相同的指针 我知道 bytes属于NSData 为什么NSMutableData介绍 mutableBytes 是否只是为了代码清晰 以便更明显地访问可变数据 使用哪一个真的很重要吗 NSMutableData mydata NS