objective-C语法初学者问题

时间:2009-12-23 00:51:07

标签: iphone objective-c

我想在viewDidLoad中使用appRecord.myName,
当我把它放在那里它错误的appRecord是未声明的,如何声明它?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"pilotWay";
    static NSString *PlaceholderCellIdentifier = @"PlaceholderCell";

    int nodeCount = [self.entries count];

    if (nodeCount == 0 && indexPath.row == 0)
    {
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier];
        if (cell == nil)
        {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                           reuseIdentifier:PlaceholderCellIdentifier] autorelease];   
            cell.detailTextLabel.textAlignment = UITextAlignmentCenter;
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }

        cell.detailTextLabel.text = @"load";

        return cell;
    }

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                       reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    if (nodeCount > 0)
    {
        AppRecord *appRecord = [self.entries objectAtIndex:indexPath.row];


        cell.textLabel.text = appRecord.myName;             
        cell.textLabel.text = appRecord.appName;
    }

    return cell;
}

2 个答案:

答案 0 :(得分:1)

您是否在该文件的顶部有#import "AppRecord.h"

答案 1 :(得分:-1)

似乎appRecord已声明(=这样做)。也许你需要施展它:(AppRecord *)[self.entries objectAtIndex:indexPath.row]。无论您做什么,要检查appRecord是否存在,请尝试以下操作并运行:

NSLog(@"appRecord: %@", appRecord);

如果对象appRecord存在,则应该使用内存地址对其进行描述。如果有任何帮助,或者您需要进一步解释,请告诉我。