Cocoa 结构体和 NSMutableArray

2024-04-20

我有一个 NSMutableArray,我正在尝试存储和访问一些结构。我该怎么做呢? “addObject”给我一个错误,说“addObject 的参数 1 的类型不兼容”。这是一个示例(“in”是 NSFileHandle,“array”是 NSMutableArray):

//Write points
for(int i=0; i<5; i++) {
    struct Point p;
    buff = [in readDataOfLength:1];
    [buff getBytes:&(p.x) length:sizeof(p.x)];
    [array addObject:p];
}

//Read points
for(int i=0; i<5; i++) {
    struct Point p = [array objectAtIndex:i];
    NSLog(@"%i", p.x);
}

如上所述,NSValue可以使用包装一个简单的结构+value:withObjCType: http://developer.apple.com/mac/library/documentation/cocoa/Reference/Foundation/Classes/NSValue_Class/Reference/Reference.html#//apple_ref/doc/uid/20000177-value_withObjCType_ or -initWithBytes:objCType: http://developer.apple.com/mac/library/documentation/cocoa/Reference/Foundation/Classes/NSValue_Class/Reference/Reference.html#//apple_ref/doc/uid/20000177-initWithBytes_objCType_:

// add:
[array addObject:[NSValue value:&p withObjCType:@encode(struct Point)]];

// extract:
struct Point p;
[[array objectAtIndex:i] getValue:&p];

See the 数量和价值指南 http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/NumbersandValues/Articles/Values.html#//apple_ref/doc/uid/20000174-BAJJHDEG了解更多示例。

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

Cocoa 结构体和 NSMutableArray 的相关文章

  • 使用 NSMutableDictionary 与 NSMutableArray 造成的性能损失>

    我正在考虑使用 NSMutableDictionary 代替我当前的 NSMutableArray 这主要是出于 KVC KVO 的原因 该集合将在我的绘图方法的内循环中经历严重的变化 如果我继续进行此替换 性能是否会受到重大影响 干杯 道
  • WebView (OSX) 未在打印面板预览中呈现

    我的应用程序创建并打印 WebView 输出页面正在正确组装和打印 但我没有在打印面板中预览页面 NSRect printViewFrame printViewFrame size width paperSize width marginL
  • 结构中字符串的管理

    我知道字符串的长度是可变的 因此它们需要内存中的可变空间来存储 当我们在 a 中定义一个字符串项时struct the struct的大小的长度将是可变的 较旧的语言通过使用固定长度的字符串来管理此问题 但是 C 中没有办法定义固定长度的字
  • NSDateComponents - EXC_BAD_ACCESS 错误

    我确信有一个简单的答案的基本问题 我正在尝试获取照片的时间戳 当我尝试访问 NSDateComponents 以检索特定日期元素 例如 日 时 我收到 EXC BAD ACCESS 错误 首先 我的代码的相关部分 formattedDate
  • 从 Angularjs 应用程序中的 iOS Webview 调用 Javascript 函数

    我的问题是 当我尝试从 UIWebView 中调用 AngularJS 应用程序中存在的 javascript 函数时 该函数无法识别 当我在典型的 html 结构中调用该函数时 该函数会按预期被识别 下面提供的示例 目标 C void v
  • 在 Cocoa 中实现源代码语法高亮的最佳方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 Cocoa 应用程序 它应该能够分析和突出显示用 Objective C SQL JavaS
  • OSX/Cocoa 应用程序通常使用什么位置来存储数据文件?

    他们是否将它们写入 存储在应用程序包 包本身中 或者其他一些规范位置 还是好像没有什么标准 文件通常会进入 Library Application Support Your App 偏好设置进去 Library Preferences
  • “struct X typedef”与“typedef struct X”的含义是什么?

    我在现有代码库中有以下 工作 代码 在 C 和 C 之间共享的包含文件中使用 在 MSVC 2010 和 Windows DDK 上编译 struct X USHORT x typedef X PX And enum MY ENUM enu
  • 用强/弱自我打破保留周期

    我读过关于强 弱的帖子self打破保留周期 但我仍然对它们如何工作感到困惑 我理解使用 weak typeof self weakSelf self创建对自我的弱引用 但我对强引用感到困惑 据我了解 强引用是指对self这样它就不会在块结束
  • 存储和检索多维 NSMutableArray 的最佳方法是什么?

    我将一堆数据存储在 plist 文件 在应用程序文档文件夹中 中 其结构如下 Dictionary description String Value sections Array Array Number Number Array Numb
  • 结构体tag和name,为什么声明为name的局部变量会编译?

    在我最近看到的一些代码中 有一个如下定义的结构 typedef struct tagMyStruct int numberOne int numberTwo MYSTRUCT 按照我的理解 tagMyStruct是新的数据类型并且MYSTR
  • NSPredicate 格式字符串不起作用

    在我的代码中 我想检查记录是否已存在 以便我知道是创建它还是更新它 但我遇到了一个问题 问题是当我使用这个时 NSPredicate pred NSPredicate predicateWithFormat ATTRIBUTE ID idN
  • C 结构体信息隐藏(不透明指针)

    我目前对 C 结构信息隐藏的概念有点困惑 这道题的背景是一个嵌入式c项目 对OOP的了解几乎为零 到目前为止 我总是在相应模块的头文件中声明我的 typedef 结构 因此每个想要使用该结构的模块都知道该结构类型 但经过 MISRA C 检
  • 如果仅使用第一个元素,是否必须为整个结构分配内存?

    我有一个结构 其中第一个元素被测试 并且根据其值 结构的其余部分将被读取或不会被读取 在第一个元素的值指示结构的其余部分不会被读取的情况下 我是否必须为整个结构或仅第一个元素分配足够的内存 struct element int x int
  • WebView 不运行 loadHTMLString 中给出的 JavaScript

    我不明白为什么这不起作用 我的桌面上有一个 test htm 文件 如下所示 This is x 2 我有一个 WebVie
  • for 循环初始值设定项中的结构

    知道为什么 for 循环初始值设定项中的这个结构表达式在编译时会出现语法错误吗 在这种情况下 指向结构的指针工作正常 但 ofc 我需要如下所示的局部变量 感谢您的建议 type Request struct id int line byt
  • typedef 结构体指针定义

    我对 C 很陌生 并且对所有指针的东西都有一些问题 我写了这段代码 typedef struct edgeitem double weight EDGE ITEM pEDGE ITEM also declaration of a point
  • 在 Go 中初始化嵌入结构

    我有以下内容struct其中包含一个net http Request type MyRequest struct http Request PathParams map string string 现在我想初始化匿名内部结构http Req
  • 结构体实现接口安全吗?

    我似乎记得读过一些关于在 CLR 中通过 C 实现结构如何不好的内容 但我似乎找不到任何相关内容 是不是很糟糕 这样做会产生意想不到的后果吗 public interface Foo Bar GetBar public struct Fub
  • 从 cocoa 编辑系统偏好设置

    有没有办法使用可可以编程方式编辑系统首选项 是否需要一些框架 我需要这样做来更改全局代理设置 另外 我的应用程序是沙盒的 有关于如何执行此操作的示例代码吗 感谢您的帮助 您正在寻找系统配置框架 但这并不容易 我认为沙盒应用程序不可能这样做

随机推荐

  • Selenium Webdriver:处理 NoSuchElementException 的最佳实践

    经过大量搜索和阅读后 我仍然不清楚使用 Webdriver 处理失败断言的最佳方法 我本以为这是一个常见且核心的功能 我想做的就是 寻找一个元素 如果在场 告诉我 如果不在场 告诉我 我想向非技术受众展示结果 因此让它抛出带有完整堆栈跟踪的
  • 使用 CSS 和 JS 创建金字塔

    我有一个包装 div 和许多内容块 内容块可以是任意数量 div class wrapper div class content block Something goes here div div class content block S
  • 使用通用字典和/或使用 IDictionary 排序

    我有一个字典 其中的值是在运行时确定的 我可以将其创建为IDictionary并添加到它很好 但我无法排序 有没有办法将其创建为Dictionary这样我就可以访问OrderBy或者是否有另一种方法将其排序为IDictionary void
  • Symfony 控制器中操作的含义

    我是 Symfony 框架的新手 我在 Symfony 中启动简单项目 我在控制器中定义了一个函数 例如 public function sampleAction 这里的Action是什么意思 这只是一个约定 在其他框架中也是如此 例如 Z
  • iOS核心运动检测向前/向后倾斜

    我正在使用 iOS 核心运动框架来检测设备是否向前或向后倾斜 详情请看图片 https i stack imgur com 2Ojw5 jpg https i stack imgur com 2Ojw5 jpg 使用俯仰值 a 可以检测到这
  • 如何正确设置 hellem.js 来解决 CSP 问题?

    当我启动 Express 应用程序时 浏览器会出现以下错误 Refused to load the script http localhost 1337 main js because it violates the following C
  • Laravel 默认 .htaccess 文件将不起作用

    我终于为 Laravel 安装了所有内容 但我的主页上出现错误 500 它看起来是我的 htaccess 文件 如果我删除它 页面就可以工作 如果我把它放回去 又会出现500错误
  • 使用自定义 http 标头进行 Spring MVC 重定向

    我正在开发小型 spring mvc 应用程序 其中用户需要使用一些 http 标头重定向到外部应用程序 例如说 用户正在 url 上的应用程序 1 上http localhost 8080 app1 http localhost 8080
  • 长时间运行进程的超时和 Windows 服务 (Python)

    我有一个使用 python 创建的简单 Windows 服务 我的问题是 我不知道该服务需要多长时间才能完成 可能需要 15 秒 也可能需要 4 个多小时 具体取决于需要对数据执行的操作 4个多小时的情况很少见 但我也遇到过这种情况 以下是
  • UNIX:用冒号替换换行符,在 EOF 之前保留换行符

    我有一个格式为的文本文件 INPUT txt A
  • MVC 3 - 使用列表类型属性绑定到复杂类型

    我有一个以下视图模型 它将由我正在开发的搜索控件使用 public class SearchViewModel public SearchViewModel SearchLocation new SearchLocationViewMode
  • Qt 5 和 OS X Mavericks 问题

    我正在使用 Cmake 在 OS X 10 9 上构建 QT 项目 自 Mavericks 以来 OpenGL 标头的位置似乎发生了变化 文件夹 System Library Frameworks OpenGL framework Head
  • 修复地图投影后形状不连续的多边形对象

    该演示程序 旨在在 IPython 笔记本中运行 您需要matplotlib mpl toolkits basemap pyproj and shapely 应该在地球表面绘制越来越大的圆圈 只要圆不越过其中一根极点 它就能正常工作 如果发
  • 如何使用类初始化 STL 向量/列表而不调用复制构造函数

    我有一个 C 程序 它使用包含类实例的 std list 如果我打电话 例如myList push back MyClass variable 它经历创建临时变量的过程 然后立即将其复制到向量 然后删除临时变量 这远没有我想要的那么高效 而
  • css关键帧动画动态高度

    您好 我的子菜单有以下 css 它用于在页面加载时打开它们 它效果很好 但是我注意到 如果在我设置的动画的结束状态height auto 那么动画不会被执行 这对我来说是一个问题 因为在我的网站中我有许多子菜单 其中有 n 个子菜单 所以我
  • Sqlite 与 Blazor Wasm (.NET 6) -> System.DllNotFoundException: e_sqlite3

    根据 NET 6 中的新 Blazor WebAssembly 功能 NET 6 中的新 Blazor WebAssembly 功能 Sqlite 与 Blazor Wasm NET 6 gt System DllNotFoundExcep
  • jQuery 通过单击链接来排列 li 顺序

    需要通过点击向上移动或向下移动来改变li位置 div ul li Item1 a class moveUp Move Up a a class moveDown Move Down a li li Item2 a class moveUp
  • 有人可以解释 Blazor 组件标签的各种语法吗

    在我的 razor 文件中 我有这些标签 只是一个示例 它们有效 但我无法向自己解释各种语法背后的原因
  • 来自 Microsoft Graph 的多个更改通知

    每当更新 创建 删除或编辑 事件时 我都尝试从 Microsoft Graph 接收更改通知 我已成功创建订阅 接收通知的 URL 属于 Azure Function 但是 每当我创建或删除事件时 图表都会针对一个特定更改发送多个通知 正如
  • Cocoa 结构体和 NSMutableArray

    我有一个 NSMutableArray 我正在尝试存储和访问一些结构 我该怎么做呢 addObject 给我一个错误 说 addObject 的参数 1 的类型不兼容 这是一个示例 in 是 NSFileHandle array 是 NSM