我正在尝试在Mac OS X API(音频队列服务)中遵循C++接口的教程,但是在Cocoa(实际上只是基础)应用程序(实际上只是一个'工具').它有一个如下所示的结构:
static const int kNumberBuffers = 3; // 1
struct AQPlayerState {
AudioStreamBasicDescription mDataFormat; // 2
AudioQueueRef mQueue; // 3
AudioQueueBufferRef mBuffers[kNumberBuffers]; // 4
AudioFileID mAudioFile; // 5
UInt32 bufferByteSize; // 6
SInt64 mCurrentPacket; // 7
UInt32 mNumPacketsToRead; // 8
AudioStreamPacketDescription *mPacketDescs; // 9
bool mIsRunning; // 10
};
Run Code Online (Sandbox Code Playgroud)
我将第4项转换为Objective-C时遇到了很多麻烦,因为我无法弄清楚如何@synthesize使用C数组.具体来说,这是我到目前为止:
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioQueue.h>
@interface PlayerState : NSObject {
AudioStreamBasicDescription dataFormat;
AudioQueueRef queue;
AudioQueueBufferRef _buffers[3];
int audioFile; // make this an actual type?
UInt32 …Run Code Online (Sandbox Code Playgroud) 鉴于这段代码:
(void)someFunction(void) {
int array[] = {1,2,3,4,5,6,7,8,9,10};
}
Run Code Online (Sandbox Code Playgroud)
数组的值存储在哪里?
我问,因为我对这个问题不确定:
我需要这样的东西:
@property (nonatomic, retain) int field[10][10];
Run Code Online (Sandbox Code Playgroud)
但是这段代码不起作用.如何更换?我需要setter和getter方法