我对@[]
和有疑问@{}
。
部分代码取自互联网:
self.searches = [@[] mutableCopy];
self.searchResults = [@{} mutableCopy];
@[]
等于[NSMutableDictionary dictionary]
? _@{}
等于[NSMutableArray array]
? _
我对@[]
和有疑问@{}
。
部分代码取自互联网:
self.searches = [@[] mutableCopy];
self.searchResults = [@{} mutableCopy];
@[]
等于[NSMutableDictionary dictionary]
? _@{}
等于[NSMutableArray array]
? _@[]
等于[NSArray array]
或[[NSArray alloc] init]
。@{}
等于[NSDictionary dictionary]
或[[NSDictionary alloc] init]
。(取决于上下文以及您是否使用自动引用计数(ARC))
这就是为什么你[@[] mutableCopy]
有时会看到这样的事情。这将创建一个空的不可变数组并创建它的可变副本。
结果与使用[NSMutableDictionary dictionary]
or相同[[NSMutableDictionary alloc] init]
。
@{}
等于[NSDictionary dictionary]
@[]
等于[NSArray array]
所以[@[] mutableCopy]
创建一个空的不可变对象,然后创建它的可变副本。我认为你不能降低效率。
第一个@[]是创建 Array 的简写,例如以下两个元素的数组:
NSArray *array = @[ @"First", @"Second"];
第二个@{}创建一个字典,例如:
NSDictionary *dictionary = @{
@"first" : someValue,
@"second" : someValue,
};