我刚刚开始使用 Objective C,虽然我的速度和学习曲线还不错(我没有 C 背景)- 我不理解一个概念,它也是 C++ 的一部分 - 指针!
好的 - 我知道指针指向实际变量的物理位置而不是变量本身的值。到底什么时候能派上用场?
此外,何时使用它们,何时不使用它们?
我在 Google 上搜索得够多了,但我遇到的每一个指南似乎都假定我是火箭科学博士。
有人可以用一个简单的例子解释一下吗?
最佳答案
虽然它们当然是 C 指针,但我强烈建议将它们理解为对对象的引用。
您要么创建一个对象,要么从某处接收它并将对该对象的引用存储在一个变量中。
当您将对象的引用传递给某个函数或方法时,此方法可以访问您传递的对象。它不一定必须使用数据副本。如果它对对象的属性进行了更改(只要通过 poperty 声明和内容允许),那么您的引用所指的对象就会被更改。
您当然可以复制它,并在您认为合适的时候继续使用该副本。在这种情况下,原始对象保持不变。
当你真的遇到必须使用 C 风格指针的情况时,你最好退后一步并理解 C。我认为来自 Objecive-C 背景的理解 C 风格指针是不明智的。清理你的思绪,从头开始学习 C,然后在你必须在 Objective-C 项目中处理这些基本数据类型的非常非常罕见的情况下使用新知识。
关于objective-c - 指针的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070300/