我知道asterix是用于指针的,我现在对指针有所了解。但我仍然不知道为什么在头声明一个变量,当我需要使用一个星号,例如:obj-c中头部变量声明中的星号
UINavigationController * navController;
为什么不说:
UINavigationController navController;
感谢
我知道asterix是用于指针的,我现在对指针有所了解。但我仍然不知道为什么在头声明一个变量,当我需要使用一个星号,例如:obj-c中头部变量声明中的星号
UINavigationController * navController;
为什么不说:
UINavigationController navController;
感谢
因为在你的例子中:
UINavigationController * navController;
navController是指向UINavigationController类型的对象的指针;
而你总是使用Objective-C的对象,当你创建新实例指针工作具有:
[[MyClass alloc] init]
返回指向MyClass类型,即(MyClass的*)
在新创建的对象您正在声明需要为对象分配的内存的标头。您需要使用*
运算符,因为您只需要为引用/指向对象的指针声明内存空间,而不是对象本身的空间。