4

私はiOS用にプログラミングしており、ARCを使用しています。

プロパティとして c-array を使用しようとしていますが、エラーが報告されます。

@property (strong, nonatomic)NSString *mappingTable[70][254];

エラーは"Property cannot have array or function type NSString *[70][254]"です。どうすればこの問題を解決できますか? c-array をプロパティとして宣言するにはどうすればよいですか?

注:
これは 2 次元配列です。c-array を使用する方がずっと簡単だと思うので、NSArray は使用しませんでした。

4

4 に答える 4

4

その形式で宣言することはできません。エラー メッセージが示すように、プロパティ宣言で C スタイルの配列を使用することはできません。

配列の新しい短い構文により、NSArray と NSMutableArray の負担が軽減されます。それ以外の

[array objectAtIndex:3]

あなたは単に使用することができます

array[3]

長期的には、Objective-C オブジェクトを使用する利点は、C スタイルの配列を使用する快適さを上回ると思います。

于 2013-03-04T12:58:19.070 に答える
2

c/c++配列をプロパティとして宣言することはできません。プロパティに使用するか、 objective-c NSArray/NSMutableArrayc++ 配列を宣言することができます。

@property (strong,nonatomic)NSArray *mappingTable;

または、このように純粋な C スタイルの文字配列を宣言します

char mappingTable[70][224];
于 2013-03-04T12:59:08.693 に答える
-1

クラスのプライベート プロパティとしてのみ使用する場合。次に、それをシンプルに保ちます。YourClass.h ファイルをスキップします。そして、このように YourClass.m ファイルに直接書き込みます。

//YourClass.m file


#import "YourClass.h"

@interface YourClass()

@property (strong,nonatomic)NSArray *mappingTable;

@end

@implementation YourClass
@synthesize mappingTable;
@end
于 2014-06-14T20:49:17.840 に答える