Ios 多个参数作为数组的索引值传递
我正在开发QRCode应用程序,在启用条形码符号方面遇到了一些问题。 我有一个数组,从WebService数据响应中获取所有条形码符号,需要启用。 我应用静态代码如下,它为我工作。 但我想让它充满活力。以下是我的代码: 请帮我把它做成动态的。我尝试了许多方法,但没有得到正确的解决方案 创建了两个阵列:Ios 多个参数作为数组的索引值传递,ios,iphone,Ios,Iphone,我正在开发QRCode应用程序,在启用条形码符号方面遇到了一些问题。 我有一个数组,从WebService数据响应中获取所有条形码符号,需要启用。 我应用静态代码如下,它为我工作。 但我想让它充满活力。以下是我的代码: 请帮我把它做成动态的。我尝试了许多方法,但没有得到正确的解决方案 创建了两个阵列: NSMutableArray *enableSymbologies = [[[NSMutableArray alloc] init] autorelease]; // Data from w
NSMutableArray *enableSymbologies = [[[NSMutableArray alloc] init] autorelease]; // Data from webservice response
NSMutableArray *symbologiesToSet = [[[NSMutableArray alloc] init] autorelease]; // for enabling barcode symbology
for (int i =0 ; i < [enableSymbologies count] ; i ++)
{
if([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code39"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_39]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code93"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_93]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code25I"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_25]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code25S"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_25]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code128"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_128]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"QR"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_QR]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"EAN+UPC"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_EANUPC]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"PDF"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_PDF]];
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"CodaBar"])
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_CODABAR]];
}
else
{
[symbologiesToSet addObject:[NSNumber numberWithInt:MWB_CODE_MASK_QR]];
}
}
NSMutableArray*enableSymbologies=[[NSMutableArray alloc]init]autorelease];//来自webservice响应的数据
NSMUTABLEARRY*symbologiesToSet=[[NSMUTABLEARRY alloc]init]自动释放];//用于启用条形码符号
对于(int i=0;i<[启用符号计数];i++)
{
if([[enableSymbologies objectAtIndex:i]isEqualToString:@“Code39”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_39];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“Code93]”)
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_93];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“Code25I]”)
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_25];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“Code25S”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_25];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“Code128”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_128];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“QR”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_QR];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“EAN+UPC”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_EANUPC];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“PDF”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_PDF];
}
else if([[enableSymbologies objectAtIndex:i]IsequalString:@“CodaBar”])
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_CODABAR];
}
其他的
{
[symbologiesToSet addObject:[NSNumber numberwhithint:MWB_CODE_MASK_QR];
}
}
//我的静态方法,我想使其动态化
for (int i = 0; i < [symbologiesToSet count]; i++)
{
if([symbologiesToSet count] == 1)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue]);
}
else if([symbologiesToSet count] == 2)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue]);
}
else if([symbologiesToSet count] == 3)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue]);
}
else if([symbologiesToSet count] == 4)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue] | [[symbologiesToSet objectAtIndex:3] integerValue]);
}
else if([symbologiesToSet count] == 5)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue] | [[symbologiesToSet objectAtIndex:3] integerValue] | [[symbologiesToSet objectAtIndex:4] integerValue]);
}
else if([symbologiesToSet count] == 6)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue] | [[symbologiesToSet objectAtIndex:3] integerValue] | [[symbologiesToSet objectAtIndex:4] integerValue] | [[symbologiesToSet objectAtIndex:5] integerValue]);
}
else if([symbologiesToSet count] == 7)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue] | [[symbologiesToSet objectAtIndex:3] integerValue] | [[symbologiesToSet objectAtIndex:4] integerValue] | [[symbologiesToSet objectAtIndex:5] integerValue] | [[symbologiesToSet objectAtIndex:6] integerValue]);
}
else if([symbologiesToSet count] == 8)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue] | [[symbologiesToSet objectAtIndex:3] integerValue] | [[symbologiesToSet objectAtIndex:4] integerValue] | [[symbologiesToSet objectAtIndex:5] integerValue] | [[symbologiesToSet objectAtIndex:6] integerValue] | [[symbologiesToSet objectAtIndex:7] integerValue]);
}
else if([symbologiesToSet count] == 9)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0] integerValue] | [[symbologiesToSet objectAtIndex:1] integerValue] | [[symbologiesToSet objectAtIndex:2] integerValue] | [[symbologiesToSet objectAtIndex:3] integerValue] | [[symbologiesToSet objectAtIndex:4] integerValue] | [[symbologiesToSet objectAtIndex:5] integerValue] | [[symbologiesToSet objectAtIndex:6] integerValue] | [[symbologiesToSet objectAtIndex:7] integerValue] | [[symbologiesToSet objectAtIndex:8] integerValue]);
}
}
#define MWB_CODE_MASK_NONE 0x00000000u
#define MWB_CODE_MASK_QR 0x00000001u
#define MWB_CODE_MASK_DM 0x00000002u
#define MWB_CODE_MASK_RSS 0x00000004u
#define MWB_CODE_MASK_39 0x00000008u
#define MWB_CODE_MASK_EANUPC 0x00000010u
#define MWB_CODE_MASK_128 0x00000020u
#define MWB_CODE_MASK_PDF 0x00000040u
#define MWB_CODE_MASK_AZTEC 0x00000080u
#define MWB_CODE_MASK_25 0x00000100u
#define MWB_CODE_MASK_93 0x00000200u
#define MWB_CODE_MASK_CODABAR 0x00000400u
#define MWB_CODE_MASK_ALL 0x00ffffffu
for(int i=0;i<[symbologiesToSet count];i++)
{
如果([SYMBOLOGISTOSET count]==1)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]integerValue]);
}
否则如果([SYMBOLOGISTOSET count]==2)
{
MWB_setActiveCodes([[symbologiestset objectAtIndex:0]integerValue]|[[symbologiestset objectAtIndex:1]integerValue]);
}
否则如果([SYMBOLOGISTOSET count]==3)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值];
}
else if([symbologiesToSet count]==4)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值][symbologiesToSet objectAtIndex:3]整型值];
}
否则如果([SYMBOLOGISTOSET count]==5)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值][symbologiesToSet objectAtIndex:3]整型值][symbologiesToSet objectAtIndex:4]整型值];
}
else if([symbologiesToSet count]==6)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值][symbologiesToSet objectAtIndex:3]整型值][symbologiesToSet objectAtIndex:4]整型值][symbologiesToSet OBJECTINDEX:5]整型值];
}
else if([symbologiesToSet count]==7)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值][symbologiesToSet objectAtIndex:3]整型值][symbologiesToSet objectAtIndex:4]整型值][symbologiesToSet objectAtIndex:5]整型值][[[symbologiesToSet objectAtIndex:6]integerValue]);
}
else if([symbologiesToSet count]==8)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值][symbologiesToSet objectAtIndex:3]整型值][symbologiesToSet objectAtIndex:4]整型值][symbologiesToSet objectAtIndex:5]整型值][[[symbologiestset objectAtIndex:6]integerValue]|[symbologiestset objectAtIndex:7]integerValue]);
}
else if([symbologiesToSet count]==9)
{
MWB_setActiveCodes([[symbologiesToSet objectAtIndex:0]整型值][symbologiesToSet objectAtIndex:1]整型值][symbologiesToSet objectAtIndex:2]整型值][symbologiesToSet objectAtIndex:3]整型值][symbologiesToSet objectAtIndex:4]整型值][symbologiesToSet objectAtIndex:5]整型值][[[symbologiesToSet objectA
if(curEvent.enablescanning == 1)
{
if([enableSymbologies count] == 0)
{
MWB_setActiveCodes(MWB_CODE_MASK_QR);
}
else
{
int globalSelectedTypes = 0;
for (int i =0 ; i < [enableSymbologies count] ; i++)
{
if([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code39"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_39;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code93"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_93;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code25I"] || [[enableSymbologies objectAtIndex:i] isEqualToString:@"Code25S"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_25;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"Code128"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_128;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"QR"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_QR;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"EAN+UPC"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_EANUPC;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"PDF"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_PDF;
}
else if ([[enableSymbologies objectAtIndex:i] isEqualToString:@"CodaBar"])
{
globalSelectedTypes = globalSelectedTypes + MWB_CODE_MASK_CODABAR;
}
}
MWB_setActiveCodes(globalSelectedTypes);
}
}