我必须在三个条件下实现 UiTableView。
- 在一种情况下,我必须显示诸如“邀请”之类的文本。
- 在第二种情况下,我必须显示“已邀请”之类的文字。
- 在第三种情况下,如果受邀者已加入,我必须显示图像。
当我只使用文本更改时,它工作正常,但是当我用 imageview 替换 textfield 时,它会随机显示 textfield 和 Imageview。
我已经指出,表方法调用速度太快,以至于编译器无法读取某些条件。即使我放了条件,有时即使它的值为false,它也会进入循环。就像这种情况。
我的代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ExampleCell";
NSLog(@"indexpath ==%d",indexPath.row);
ExampleCell *cell = (ExampleCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[ExampleCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSDictionary *dic=[self.FriendsDataArray objectAtIndex:indexPath.row];
UILabel *Label=(UILabel *) [cell viewWithTag:202];
Label.text=[dic objectForKey:@"name"];
NSString *FriendsIdArrayString=[FriendsIdArray objectAtIndex:indexPath.row];
UIImageView *Image=(UIImageView*) [cell viewWithTag:203];
UIButton *Button=(UIButton*) [cell viewWithTag:201];
[Button addTarget:self action:@selector(ButtonAction:) forControlEvents:UIControlEventTouchUpInside];
if([self.InvitedFriendsArray count]==0)
{
[Button setTitle:@"Invite" forState:UIControlStateNormal];
}
else
{
for(int i=0; i< [self.InvitedFriendsArray count];i++)
{
NSString *InvitedFriendIdString=[self.InvitedFriendsArray objectAtIndex:i];
InvitedFriendIdString=[NSString stringWithFormat:@"%@",InvitedFriendIdString];
InvitedFriendIdString=[InvitedFriendIdString stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
FriendsIdArrayString=[NSString stringWithFormat:@"%@",FriendsIdArrayString];
FriendsIdArrayString=[FriendsIdArrayString stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
if([self.GetConnectedFriendsArray containsObject:FriendsIdArrayString])
{
NSLog(@"IndexPath.row====%d",indexPath.row);
[Button setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
[Button setTitle:@"" forState:UIControlStateNormal];
Image.image=[UIImage imageNamed:@"graph.png"];
break;
}
else
{
Image.image=[UIImage imageNamed:@""];
if([self.InvitedFriendsArray containsObject:FriendsIdArrayString])
{
[Button setTitle:@"Sent" forState:UIControlStateNormal];
break;
}
else
{
[Button setTitle:@"Invite" forState:UIControlStateNormal];
break;
}
}
}
}
// Configure the cell.
[cell setFlickrPhoto:[ImageUrlArray objectAtIndex:indexPath.row]];
return cell;
}