如何使用NSmutableArray在UItableView中显示NSSet值

时间:2012-08-01 07:38:26

标签: objective-c ios xcode uitableview nsset

我有一系列像这样的元素

150 150, 150, 571, 571, 571, 692, 692, 692, 123, 123, 123, 144, 144, 144, 147, 147, 147, 155, 155, 155, 542, 542, 542, 548, 548, 548, 551, 551, 551

我曾经在tableviewcell中显示我的数组元素,其中我使用了像这样的代码

NSArray *array=[jsonarray valueForKey:@"ID"];
mySet = [NSSet setWithArray:array] ;

NSLog(@"%@",mySet);

现在我得到了我的所有元素,这些元素在myset中没有重复为11个元素,但是如果我打印myset值我得到这样的

2012-08-01 12:49:53.049 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.050 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.050 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.051 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.051 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.052 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.052 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.053 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.053 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.054 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )} 2012-08-01 12:49:53.054 jothi R& D [3647:f803] {(     551,     548,     692,     150,     155,     147,     542,     571,     123,     144 )}

如果我试图在UItableviewcell中打印,我在返回时遇到了BAD ACCESS问题[myset count] ;.我的表格视图单元格包含

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return  [myset count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


{        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];



}
// Configure the cell...

cell.textLabel.text=[myset objectAtIndex:indexPath.row];    

return cell;
}

这里jsonarray是NSMutableArray,myset是NSSet ..指导请..

1 个答案:

答案 0 :(得分:0)

原因是NSSet不接受重复,因此你的NSMutablearray中有更多的元素

所以你必须选择在所有dataSource方法中使用其中一个