如何从以下NSMutableArray中检索值

时间:2012-03-23 05:25:26

标签: iphone nsmutablearray

当我NSLog我的NSMutableArray时,我得到的是以下

{  ABSNFGH True,
FDGJDKG False
GFKFLDL True
PDHJHN True
FHKDMD True
DSHDMD False )

问题在于,我没有创建这个数组。但是我希望将每个条目(例如ABSNFGH)存储在一个字符串中,并将其相应的状态存储在for循环中的bool中。我怎么能这样做?

1 个答案:

答案 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

希望这有帮助。