我从另一个类中得到的布尔值构造的“下标值既不是数组也不是指针”错误。在找出导致这个错误的很多原因之后,我不确定我如何将它与我的相关联。我正在使用Cocos2D库,但我不认为它与此有关。在子类中,BOOL中的“下标值既不是数组也不是指针”错误
在另一个类中,这是我与一个属性的接口。只是称这是ClassA的这个例子:
#import <Foundation/Foundation.h>
@interface ClassA : NSObject {
@public
@public
BOOL _deactivateLabelToggle;
}
@property(nonatomic, assign) BOOL deactivateLabelToggle;
.M
#import "ClassA.h"
@implementation ClassA
@synthesize deactivateLabelToggle = _deactivateLabelToggle;
BOOL _deactivateLabelToggle[100];
-(id) init{
self = [super init];
if (!self) {
return nil;
}
return self;
}
- (void) dealloc{
[super dealloc];
}
@end
我主要的类头
#import "ClassA.h"
@class ClassA;
@interface MainClass : CCLayer {
ClassA *classA;
}
@property(nonatomic, retain) ClassA *classA;
@end
MainClass.m
#import "MainClass.h"
@implementation MainClass
@synthesize classA;
-(id) init {
if((self=[super init])) {
classA = [[ClassA alloc] init];
classA.deactivateLabelToggle[i] = 0; // <---- Error here
}
return self;
}
除了zneaks有用的解释之外,我只想补充一点,C数组不是属性支持的数据类型之一。这并不意味着你不能使用它们,但应该使用类似于NSArray或NSMutableArray的东西,以便更容易管理。看到这个堆栈溢出线程的更多细节:http://stackoverflow.com/questions/476843/create-an-array-of-integers-property-in-objective-c – VagueExplanation 2011-06-09 17:04:58