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
其實,便捷構造函數不會顯示警告。 NSMutableDictionary * dict = [NSMutableArray array];',但是NSMutableDictionary * dict = [[NSMutableArray alloc] init];''會給你一個「incompatible types」警告。 –
哦,對。它返回id,因爲它是一個類集羣。 – atomkirk
在ARC下,我認爲'alloc'現在意味着'instancetype'的返回類型,它會發出警告。 – bbum