@implementation ItemsViewController不完整的实现

时间:2013-02-02 04:57:13

标签: ios

我正在尝试从ios书(IOS编程)编写IOS项目。

我已经看到了一个类似的问题,并尝试了所提供的解决方案,但它仍然无效。

在itemsViewController.m文件中,我不断得到“不完整的实现。我无法弄清楚如何纠正。我试图使用其他类似的解决方案,但仍然无法使其正常工作。

这里有两个文件ItemsViewController.h和ItemsViewController.m

//  ItemsViewController.h
//  Homepwner
#import <Foundation/Foundation.h>

@interface ItemsViewController : UITableViewController

{
    IBOutlet UIView *headerView;
}

- (UIView *)headerView;
- (IBAction)addNewItem:(id)sender;
- (IBAction)toggleEditingMode:(id)sender;

@end

//
//  ItemsViewController.m
//  Homepwner
//

//

#import "ItemsViewController.h"
#import "BNRItemStore.h"
#import "BNRItem.h"

@implementation ItemsViewController


- (id)init
{
    //Call the superclass's designated initializer
    self = [super initWithStyle:UITableViewStyleGrouped];
    if (self) {
        for (int i = 0; i < 5; i++) {
            [[BNRItemStore sharedStore] createItem];
        }

    }
    return self;
}

- (id)initWithStyle:(UITableViewStyle)style
{
    return [self init];
}

- (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
    return [[[BNRItemStore sharedStore] allItems] count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Check for a reusable cell first, use that if it exists
    UITableViewCell *cell =
    [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];

    // If there is no reusable cell of this type, create a new one
    if (!cell) {
        cell = [[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleDefault
             reuseIdentifier:@"UITableViewCell"];
    }



    // Set the text on the cell with the description of the item
    // that is at the nth index of items, where n = row this cell
    // will appear in on the tableview

    BNRItem *p = [[[BNRItemStore sharedStore] allItems]
                  objectAtIndex:[indexPath row]];

    [[cell textLabel] setText:[p description]];

    return cell;
}



@end

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

如果您转到产品的构建日志,您实际上可以看到需要填写的缺失方法。这是一个例子:

Build Log has useful information

答案 1 :(得分:1)

您已在界面中声明了这些方法:

- (UIView *)headerView; 
- (IBAction)addNewItem:(id)sender;
- (IBAction)toggleEditingMode:(id)sender;

并没有提供实施。

答案 2 :(得分:0)

此代码应添加到ItemViewController.m文件中

  - (UIView *)headerView
{
    UIView *view = nil;
    return view;
}
 - (IBAction)addNewItem:(id)sender

 {

 } 
 - (IBAction)toggleEditingMode:(id)sender
{

}