学习Objective-C并阅读示例代码,我注意到对象通常是使用以下方法创建的:
SomeObject *myObject = [[SomeObject alloc] init];
Run Code Online (Sandbox Code Playgroud)
代替:
SomeObject *myObject = [SomeObject new];
Run Code Online (Sandbox Code Playgroud)
是否有理由这样做,因为我已经读到它们是等同的?
我有点困惑[Class new]和 [[Class alloc] init].我content用[Class new]和 定义了一个对象[[Class alloc] init].
(1). NSMutableArray *content = [NSMutableArray new];
(2). NSMutableArray *content = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)
我的问题是关于之间的差异[Class new]和[[Class alloc] init].对我来说,(1)和(2)是相似的.如果(1)和(2)相似,那么为什么我们[[Class alloc] init]大部分时间都在使用[Class new]?我认为必须有一些区别.
请解释两者的差异,利弊?