Objective C调用方法语法

时间:2013-07-22 03:34:46

标签: objective-c syntax call

我对如何调用方法及其背后的语法感到困惑。有人可以为我解剖两行代码吗?我有一堆随机的问题。

NSString *testString;  
testString = [[NSString alloc] init]; 

那么这里发生了什么?有一个名为testString的新指针正在创建......这指向什么?

然后在最后一行,它被设置,但我很困惑。是:

[[NSString alloc] init]

返回地址?在NSString上调用方法“alloc”,然后在该输出上调用init吗? alloc和init甚至做了什么?

感谢。

2 个答案:

答案 0 :(得分:1)

alloc / init是在Objective-C中创建新对象的标准方法。方法allocNSObject类的类方法,NSString(以及大多数其他Objective-C对象)是其子类。它的作用是为字符串testString分配内存,并返回它。 init方法返回一个空且不可变的字符串。这相当于[NSString string],它返回完全相同的东西。

所有NSString *testString都声明一个新变量,它不会分配任何内存或初始化它。

答案 1 :(得分:0)

NSString会分配一个物理内存地址,然后它会初始化一些方法,你可以定义自定义方法extend init。