NSString * aString;
我不明白的是*,该运营商究竟做了什么以及其他什么可以去那里?
对不起,我知道这是一个相当新手的问题,但我是自学成才;每当我看到“*”时,我认为通配符,我不明白你为什么会施放一个对象NSString;
答案 0 :(得分:0)
*表示您正在创建指向对象的指针。请注意,这是C语言的一部分,而不是Objective-C(Objective-C是C的严格超集)。
答案 1 :(得分:0)
这意味着aString指向NSString对象在内存中的位置。您可能需要查看Binky Pointer Fun(youtube version)以了解Pointers的内容!
您还可以阅读更多关于指针(甚至是双指针!)here的内容。
指针正是它听起来的样子,它指出了去哪里。你的记忆被分为“盒子”,每个盒子都标有我们称之为记忆地址的东西。你写的:
NSString myString;
这意味着您在内存中分配了一个NSString
对象。但是当你决定写:
NSString *myString;
这意味着您在内存中的某处创建指向NSString
的指针。简而言之,这意味着后一个示例中的myString
将包含“ real ”的内存地址
NSString
对象。