Ios 如何在不调用alloc-NSArray、NSString的情况下分配内存
我有两个viewcontroller:Ios 如何在不调用alloc-NSArray、NSString的情况下分配内存,ios,iphone,objective-c,Ios,Iphone,Objective C,我有两个viewcontroller: viewcontroller1-具有属性NSArrayarray1并且在viewDidLoad中我正在分配 self.array1=@[@“a”、“b”、“c”、“d”] 问题1: 如果不编码alloc,该array1如何分配内存和存储值 问题2: 现在我有了viewcontroller2-Has属性NSArrayarray2 使用prepareforsque方法,我将array1值赋值给array2 [[segue destinationViewCont
viewcontroller1
-具有属性NSArray
array1
并且在viewDidLoad
中我正在分配
self.array1=@[@“a”、“b”、“c”、“d”]代码>
问题1:
如果不编码alloc,该array1
如何分配内存和存储值
问题2:
现在我有了viewcontroller2
-Has属性NSArray
array2
使用prepareforsque
方法,我将array1
值赋值给array2
[[segue destinationViewController] setArray2:self.array1];
在viewcontroller2
-viewDidLoad
中,如果我记录array2
我将获得值。从哪里获得array2
内存分配
它被称为语法糖,编译器分配所需的内存
array2只是一个指针。您可以为其分配阵列1的已分配内存的内存地址
你可以找一些好的例子
它被称为语法糖,编译器分配所需的内存
array2只是一个指针。您可以为其分配阵列1的已分配内存的内存地址
你可以找一些很好的例子谁说@[@“a”、@“b”、@“c”、@“d”]
不调用alloc
?谢谢你的回复。明白了!谁说@[@“a”、@“b”、@“c”、@“d”]
不叫alloc
?谢谢你的回复。明白了!嗨,迪玛,谢谢你的回复。问题1——明白了!问题2-我对数组1的理解参考计数增加到2。另一件事,当我解除锁定/释放array1时,array2将没有任何价值。请更正。当您释放引用计数时,它将减少到1,因此对象仍在内存中。只有当你再次释放它时,它才会被删除谢谢你的时间:)这里有疑问-好的,现在数组1的RC是2。当我做dellac时,RC变成0而不是1。请纠正我。回答得好。只是想补充一点,在本例中的“语法糖”可以被称为NSArray文本。这是一种分配和初始化NSArray实例的简捷方法。嗨,迪玛,谢谢你的回复。问题1——明白了!问题2-我对数组1的理解参考计数增加到2。另一件事,当我解除锁定/释放array1时,array2将没有任何价值。请更正。当您释放引用计数时,它将减少到1,因此对象仍在内存中。只有当你再次释放它时,它才会被删除谢谢你的时间:)这里有疑问-好的,现在数组1的RC是2。当我做dellac时,RC变成0而不是1。请纠正我。回答得好。只是想补充一点,在本例中的“语法糖”可以被称为NSArray文本。这是一种分配和初始化NSArray实例的简捷方法。