【发布时间】:2011-08-27 12:11:50
【问题描述】:
我是 Objective C 的新手,正在阅读 Peachpit Press 的 Steven Holzner 撰写的名为“Visual Quickstart Guide: Objective-C”的书
在第 6 章:面向对象编程中,有一节叫做使用类变量,他写道:
您可以创建类变量以用于 你的类,但有一个障碍:每个对象 该类的共享相同的变量,所以 如果一个对象改变了一个类变量,那 为所有对象更改变量。你创造 使用 static 关键字的类变量。 类变量通常很有用:例如, 您可以使用类变量来跟踪 创建的特定类的对象数 在一个程序中。您将在此任务中执行此操作。
并说输入以下代码:
#import <stdio.h>
#import <Foundation/NSObject.h>
@interface TheClass: NSObject
static int count; //error: cannot declare variable inside @interface or @protocol
+(int) getCount;
@end
...
这段代码在 Xcode 4 中给我一个错误:
不能在@interface 或@protocol 中声明变量
是书错了还是我做错了什么?
【问题讨论】:
-
书上完全错了,Objective-C中没有类变量的概念。您可以像在 C 中那样声明静态变量,但它们与类无关(至少在语义上不是)。
标签: objective-c xcode xcode4