gpt4 book ai didi

ios - 无法从包装在 NSValue 中的结构中获取值(value)

转载 作者:行者123 更新时间:2023-11-28 21:45:43 31 4
gpt4 key购买 nike

我需要将结构 AudioStreamBasicDescription 传递给随机 View Controller 。为此,我创建了一个单例类,我想将 AudioStreamBasicDescription 存储在该单例类中。

当其他 View Controller 需要使用 AudioStreamBasicDescription 时,我想获取该结构中的值。

设置:

sharedCache.asbdValue=[NSValue valueWithBytes:&asbd objCType:@encode(AudioStreamBasicDescription)];

得到:

sharedCache=[JITCaches sharedManager];
//AudioStreamBasicDescription asbd from singleton
NSValue *value =sharedCache.asbdValue;
AudioStreamBasicDescription desc;
asbd=[value getValue:desc];

我得到的错误是

“AudioStreamBasicDescription”(又名“struct AudioStreamBasicDescription”)为不兼容类型 void 的参数

我将 asbd 和单例声明为 asbd

AudioStreamBasicDescription asbd;   // description of the audio

我该如何解决这个问题?

最佳答案

问题(我相信你知道)是这些行:

AudioStreamBasicDescription desc;
asbd=[value getValue:desc];

这不是您调用 getValue: 的方式。有两处错误:

  1. 您需要提供(在您说 desc 的地方)缓冲区的地址,而不是(您正在做的)名称 一个未初始化的变量。

  2. 您没有将结果分配给任何东西 (asbd=)。没有结果。该值进入缓冲区(您试图将其设置为 desc)。

所以,我想你想说的(别逼我)是:

[value getValue:&desc];

关于ios - 无法从包装在 NSValue 中的结构中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30245893/

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