我对@[]和有疑问@{}。
部分代码取自互联网:
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,
};