gpt4 book ai didi

iphone - 使用不同名称初始化多个对象

转载 作者:行者123 更新时间:2023-11-28 18:24:08 24 4
gpt4 key购买 nike

如何初始化分配多个具有不同名称的对象并将其传递给NSArray。从下面的代码中,对象在循环中初始化一次,我需要多次初始化,因为 For 循环将使用不同的名称。然后将它传递给 NSArray。请检查下面的代码。当 For 循环开始时意味着 i=0 ..初始化项将是 tempItemi现在下次 i=1 和 i=2 时,tempItemi 名称将相同。我如何在循环中更改它...并将其传递给 NSArray *项目

for (int i = 0; i< [Array count]; i++)
{
id object = [Array objectAtIndex:i];

if ([object isKindOfClass:[NSDictionary class]])
{
NSDictionary *objDict = (NSDictionary *)object;


ECGraphItem *tempItemi = [[ECGraphItem alloc]init];

NSString *str = [objDict objectForKey:@"title"];

NSLog(@"str value%@",str);
float f=[str floatValue];
tempItemi.isPercentage=YES;
tempItemi.yValue=f;
tempItemi.width=30;

NSArray *items = [[NSArray alloc] initWithObjects:tempItemi,nil];
//in array need to pass all the initialized values


[graph drawHistogramWithItems:items lineWidth:2 color:[UIColor blackColor]];
}
}

最佳答案

为什么不让数组可变,然后像这样每次都添加对象:

NSMutableArray *items = [[NSMutableArray alloc] init];
// a mutable array means you can add objects to it!

for (int i = 0; i< [Array count]; i++)
{
id object = [Array objectAtIndex:i];

if ([object isKindOfClass:[NSDictionary class]])
{
NSDictionary *objDict = (NSDictionary *)object;


ECGraphItem *tempItemi = [[ECGraphItem alloc]init];

NSString *str = [objDict objectForKey:@"title"];

NSLog(@"str value%@",str);
float f=[str floatValue];
tempItemi.isPercentage=YES;
tempItemi.yValue=f;
tempItemi.width=30;

[items addObject: tempItemi];
//in array need to pass all the initialized values

}
}

[graph drawHistogramWithItems:items lineWidth:2 color:[UIColor blackColor]];

无论如何,您的原始代码中的 items 每次都会重新初始化,并且您每次都在绘制一个新的直方图,因此您的代码将无法运行...这应该可以运行...

关于iphone - 使用不同名称初始化多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14028547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com