【发布时间】:2010-11-04 02:01:18
【问题描述】:
我正在 iTunes U 上的斯坦福大学 iPhone 课程中尝试我的手,我对指针有点困惑。在第一个作业中,我尝试做这样的事情
NSString *processName = [[NSProcessInfo processInfo] processName];
NSInteger *processID = [[NSProcessInfo processInfo] processIdentifier];
产生了一个错误,在盲目地修补之后,我发现是 NSInteger 行中的 * 导致了问题。
所以我显然不明白发生了什么。我将解释我认为它是如何工作的,也许有人会很好地指出这个缺陷。
与 Web 开发不同,我现在需要 比 Web 开发更担心内存。所以当我 创建一个变量,它被分配一个 某处的内存位(RAM I 认为)。而不是通过 变量,我传递一个指针 周围的那一点记忆。和 指针是通过添加前缀来声明的 带 * 的变量名。
假设我是对的,让我感到困惑的是为什么我不需要为 NSInteger 这样做?
【问题讨论】:
标签: objective-c cocoa pointers integer nsinteger