我正在 for 循环中创建一个标签(CorePlot)对象,并尝试将其添加到我需要传递 aa 参数的 NSMutableSet 中。
奇怪的是,如果添加到 NSMutableSet(第一个)中,则只有一个对象,而其他对象则不添加。
看起来我错过了一些非常基本的东西。
有什么建议吗?
我附上了代码的屏幕截图,因为我想显示 NSSet 对象持有的值。
图 1 - 对象被添加到 NSMutableArray 但不是从该数组形成的 NSSet
图 1 中使用的代码 -
NSArray *months = [NSArray arrayWithObjects:@"Oct",@"Nov",@"Dec",@"Jan",@"Feb",nil];
NSMutableArray *xLabels = [[NSMutableArray alloc] init];
for (NSString *month in months) {
CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:month textStyle:axisTextStyle];
[xLabels addObject:label];
}
NSSet *xLabelSet = [NSSet setWithArray:xLabels];
x.axisLabels = xLabelSet;
图 2 - 未添加到 NSMutableSet 的对象
图 2 中使用的代码 -
NSArray *months = [NSArray arrayWithObjects:@"Oct",@"Nov",@"Dec",@"Jan",@"Feb",nil];
//NSMutableArray *xLabels = [[NSMutableArray alloc] init];
NSMutableSet *xLabelSet = [[NSMutableSet alloc] initWithCapacity:[months count]];
for (NSString *month in months) {
CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:month textStyle:axisTextStyle];
[xLabelSet addObject:label];
}
//NSSet *xLabelSet = [NSSet setWithArray:xLabels];
x.axisLabels = xLabelSet;