1

私は Cocoa に関する本を読んでいて、著者がプロパティを宣言し、@property (strong) NSMutableDictionary *characters;そのように初期化するセクションself.characters = [NSMutableArray array];にたどり着きました。空の配列が返されることはわかって[NSMutableArray array]いますが、これは NSMutableDictionary とどのように関連していますか?

前もって感謝します。

4

4 に答える 4

0

NSMutableDictionary *dict = [NSMutableArray array];これでオブジェクトが作成されNSMutableArrayます。

Xcode Product menu-> generate output ->Assembly file

L_OBJC_CLASSLIST_REFERENCES_$_:
    .quad   _OBJC_CLASS_$_NSMutableArray  

NSArrayオブジェクトの順序付けられたコレクションを管理します。NSDictionaryキーと値の関連付けを管理します。で初期化NSMutableDictionaryしないでくださいNSMutableArray

NSMutableDictionary *dict = [[NSMutableArray alloc] init];  // return type is NSMutableArray

Warning :Incompatible pointer types initializing 'NSMutableDictionary *' with an expression of type 'NSMutableArray *'  

NSMutableDictionary *dict = [NSMutableArray array]; // return type is id + (id)array  

NO Warnings 
于 2013-08-31T14:51:43.250 に答える