在Objective-C中使用指针?

fdh*_*fdh 0 memory heap stack objective-c

每当Apple创建自己的自定义类时,它通常会创建一个指向对象的指针,而不是实际的对象本身.

例如,而不是做:

Class object
Run Code Online (Sandbox Code Playgroud)

他们经常这样做:

Class *object = [[Class alloc] init];
Run Code Online (Sandbox Code Playgroud)

为什么指针如此常用而不是将对象放在堆栈上?是否有一些技术原因,因为我没有看到这样做的任何直接好处.

编辑:如果Objective-C不支持堆栈上的对象,他们怎么能创建任何非指针?我的意思是我见过人们直接使用NSInteger.

Art*_*pie 6

Objective-C不支持堆栈上的对象.

迈克灰的博客神奇解释这里