实现TableView Navigation xcode 6

时间:2014-11-04 20:21:49

标签: ios objective-c uitableview

下午好,

我试图按照本网站上的教程:http://www.techotopia.com/index.php/Implementing_TableView_Navigation_using_Xcode_Storyboards来实现TableView导航,但在最后一步中,我的xcode出错了。

我要发布我有错误代码的代码,因为我对这个错误有点绝望。我希望你能帮助我。

CarDetailViewController.m - TableViewStory

    #import "CarTableViewController.h"
    #import "CarTableViewCell.h"
    #import "CarDetailViewController.h"

    @implementation CarDetailViewController
    @synthesize makeLabel = _makeLabel;
    @synthesize modelLabel = _modelLabel;
    @synthesize imageView = _imageView;
    @synthesize carDetailModel = _carDetailModel;

    - (void)viewDidLoad
    {
        [super viewDidLoad];

        self.makeLabel.text = [self.carDetailModel objectAtIndex:0];
        self.modelLabel.text = [self.carDetailModel objectAtIndex:1];
        self.imageView.image = [UIImage imageNamed:
                                [self.carDetailModel objectAtIndex:2]];
    }

    -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
        if ([[segue identifier] isEqualToString:@"ShowCarDetails"])
        {
            CarDetailViewController *detailViewController =
            [segue destinationViewController];

            NSIndexPath *myIndexPath = [self.tableView
                                        indexPathForSelectedRow];
------------PROPERTY TABLEVIEW NOT FOUND ON OBJECT OF TYPE 'CARDETAILVIEWCONTROLLER'
            detailViewController.carDetailModel = [[NSArray alloc]
                                                   initWithObjects: [self.carMakes
                                                                     objectAtIndex:[myIndexPath row]],
------------PROPERTY CARMAKES NOT FOUND ON OBJECT OF TYPE 'CARDETAILVIEWCONTROLLER'
                                                   [self.carModels objectAtIndex:[myIndexPath row]],
                                                   [self.carImages objectAtIndex:[myIndexPath row]],
                                                   nil];
        }
    }

    @end

CarDetailViewController.h

#import <UIKit/UIKit.h>


@interface CarDetailViewController : UIViewController

@property (strong, nonatomic) NSArray *carDetailModel;
@property (strong, nonatomic) IBOutlet UILabel *makeLabel;
@property (strong, nonatomic) IBOutlet UILabel *modelLabel;
@property (strong, nonatomic) IBOutlet UIImageView *imageView;

@end

提前致谢。

2 个答案:

答案 0 :(得分:1)

prepareForSegue需要进入CarTableViewController NOT CarDetailViewController

看起来教程的第1部分,请确保您也遵循它: http://www.techotopia.com/index.php/Using_Xcode_Storyboards_to_Build_Dynamic_TableViews_with_Prototype_Table_View_Cells

答案 1 :(得分:0)

您粘贴到prepareForSegue的{​​{1}}来自教程中的CarDetailViewController。据推测,该类扩展CarTableViewController(凭借其具有UITableViewController属性)并具有自定义tableView属性。

但这仅仅与这个具体案例有关。我认为理解你所得到的错误意味着什么更为重要,这样你才能认识到将来如何修复它。您的代码引用了无法找到的属性,因为它们不存在。这就是为什么你看到一个错误告诉你无法找到属性的原因。这实际上是一个非常简单的错误信息。