我刚开始看一些客观的东西,并想知道这行代码中的一些内容是什么意思:
MyClass *myObject = [[MyClass alloc] init];
为什么我需要星号,这有点令人困惑。我知道这是一个指针,但我一直在阅读一些博客,说这表明myObject是一个对象。什么是思考“*”的正确方法?
答案 0 :(得分:3)
星号只是表示myObject变量是一个指针,类似于它的c对应部分。
目标c对象在堆上分配,因此[[MyClass alloc] init]返回指向MyClass对象的指针。因此,您需要声明一个指针变量来存储指针。
答案 1 :(得分:1)
传统上在C / C ++中,*表示“指向对象类型的指针”。所以* int是“指向整数的指针”。所以* MyObject是一种“指向MyObject类型的指针”。