0

最近几天我一直在搜索这个问题。

在我的文件 .h 中,我将其放在界面中:

NSMutableArray *newsCount;
@property (nonatomic, retain) NSMutableArray *newsCount;

在我的文件 .m 中,我编写了这段代码。

我在 View Will Appear 方法中分配了这个:

- (void)viewWillAppear:(BOOL)animated{
self.newsCount = [[NSMutableArray alloc] init];
}

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        return [self.newsCount count];
       //    return 5;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    // Configure the cell.
    cell.textLabel.text = [NSString stringWithFormat:@"- %@",[[newsCount objectAtIndex: indexPath.row] objectForKey:@"RELATED_CAPTION"]];
    [cell.textLabel setFont:[UIFont fontWithName:@"Helvetica" size:13]];
    cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
    cell.textLabel.numberOfLines = 2;
    cell.textLabel.textColor = [UIColor grayColor];
    return cell;
    }
4

2 回答 2

2

你是怎么设置的self.newsCount

要么您没有将数组放入self.newsCount,或者(更有可能)您正在设置 " newsCount" 没有retaining它。

你在用ARC吗?如果不是,你应该是。

于 2013-05-06T04:54:02.093 回答
1

如果您像在@Kendall 的回答的评论中提到的那样设置 newsCount:

newsCount = [[[GlobalVariable sharedInstance].itemNewsDetail objectAtIndex:i]objectForKey:@"RELATED"];

那么问题可能是由于该对象不是 NSMutableArray,而是 NSString(__NSCFString 是 NSString 使用的私有类)

您可能希望[GlobalVariable sharedInstance].itemNewsDetail通过在我之前提到的行之后添加此行来转储 的内容:

NSLog(@"itemNewsDetail: %@",[[GlobalVariable sharedInstance].itemNewsDetail objectAtIndex:i]);

并检查以查看密钥中存储的内容@"RELATED"...

于 2013-05-06T05:20:50.100 回答