当我NSLog我的NSMutableArray时,我得到的是以下
{ ABSNFGH True,
FDGJDKG False
GFKFLDL True
PDHJHN True
FHKDMD True
DSHDMD False )
问题在于,我没有创建这个数组。但是我希望将每个条目(例如ABSNFGH)存储在一个字符串中,并将其相应的状态存储在for循环中的bool中。我怎么能这样做?
答案 0 :(得分:1)
假设我们将您的数组命名为yourArray
yourArray -> { ABSNFGH True,
FDGJDKG False,
GFKFLDL True,
PDHJHN True,
FHKDMD True,
DSHDMD False }
您需要添加此循环:
for(int i = 0; i<[yourArray count];i++)
{
NSArray *array = [[yourArray objectAtIndex:i] componentsSeperatedByString:@" "];
if([array count]>1)
{
NSString *stringValue = [array objectAtIndex:0];
BOOL val = [[array objectAtIndex:1] boolValue];
}
}
我认为这应该有效。我没有尝试过亲自实现它,但可能会这样做。
编辑:
yourArray理想情况应如下:
(
{
stringVal = 'ABSNFGH'
boolVal = True
},
{
stringVal = 'FDGJDKG'
boolVal = False
},
{
stringVal = 'GFKFLDL'
boolVal = True
}
)
请参阅此链接。在这里,您只需要将object
替换为NSDictionary
即可。
Making an array of Objects in Objective-C.
我在这里修改了ennuikiller的回答,让你了解你的情况:
@interface Controller
NSMutableArray *yourArray;
@end
@implementation Controller
-(void) viewDidLoad {
................
NSMutableArray *yourArray = [NSMutableArray initWithCapacity:40];
}
-(IBAction)doSomeWork
{
NSDictionary *object = [[NSDictionary alloc] init];
[object setValue:@"ASDFG" forKey:@"stringVal"];
[object setBool:False forKey:@"boolVal"];
[yourArray addObject:object];
}
@end
希望这有帮助。