gpt4 book ai didi

iphone - 在 NSDictionary 中存储/提取对象

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:13 25 4
gpt4 key购买 nike

在尝试将其内容分配给新变量/对象时,我在使用 NSDictionary 时遇到错误。也许这是不可能的?我以为会的。我也不确定我是否可以在字典中使用非 Objective C 特定对象。可以吗?

NSDictionary *preProcessResult = [[NSDictionary alloc] initWithDictionary: [self preProcessing:testImage]];
IplImage* resultImage = [preProcessResult objectForKey:@"ResultImage"];
int numChars = [preProcessResult objectForKey:@"NumberChars"];
[preProcessResult release];

这是我调用来创建字典的方法:

- (NSDictionary*) preProcessing: (IplImage*) testImage {

//do stuff to image

NSDictionary *testImage_andNumChars = [NSDictionary dictionaryWithObjectsAndKeys:resultImage,
@"ResultImage", numChars, @"NumberChars", nil];

return testImage_andNumChars;
}

这不是正确的处理方式吗?创建字典时出现的错误是:

“无法在参数传递中将‘IplImage*’转换为‘objc_object*’”

当我检索我得到的字典元素时:

“无法在初始化中将‘objc_object*’转换为‘IplImage*’”和“从‘objc_object*’到‘int’的无效转换”。

我已经阅读了 NSDictionary 上的 Apple 文档,这让我走了这么远,但我不确定从这里该往哪里走。

提前致谢。

最佳答案

简而言之,NSDictionary 值必须是 NSObject

您应该将 int 存储为 NSNumber 使用例如:

[NSNumber numberWithInt:numChars]

检索值时,您可以使用例如:

int numChars = [[preProcessResult objectForKey:@"NumberChars"] intValue];

关于iphone - 在 NSDictionary 中存储/提取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com