Ios6 基本iphone应用程序和断点错误

Ios6 基本iphone应用程序和断点错误,ios6,Ios6,我正在尝试学习ios编码并尝试制作一个食品应用程序。。我使用了空项目文件,然后添加了故事板、视图控制器和表视图控制器 当我运行程序时,tableView菜单会显示其中的元素,然后当我按下+按钮时,会显示一个视图控制器,其中有一个文本字段和一个按钮。。当我输入一些东西并按下按钮时,我的程序崩溃了,我得到了断点错误, 我在这里得到一个错误: - (IBAction)addFoodButton:(id)sender { NSString *newFood = [addFoodText

我正在尝试学习ios编码并尝试制作一个食品应用程序。。我使用了空项目文件,然后添加了故事板、视图控制器和表视图控制器

当我运行程序时,tableView菜单会显示其中的元素,然后当我按下+按钮时,会显示一个视图控制器,其中有一个文本字段和一个按钮。。当我输入一些东西并按下按钮时,我的程序崩溃了,我得到了断点错误, 我在这里得到一个错误:

    - (IBAction)addFoodButton:(id)sender {

    NSString *newFood = [addFoodText text];

    [foodTableViewController addFood:newFood];

    [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}

我的部分编码是:

DAYfoodTableViewController.h

#import <UIKit/UIKit.h>
    #import <UIKit/UIKit.h>
#import "DAYfoodTableViewController.h"
@interface DAYaddFoodViewController : UIViewController

@property (nonatomic, weak) DAYfoodTableViewController *foodTableViewController;

- (IBAction)addFoodButton:(id)sender;

@property (weak, nonatomic) IBOutlet UITextField *addFoodText;

@end
奇怪的是,当程序崩溃,我通过模拟器重新运行程序时,它工作得非常好。。
什么会导致这个问题?谢谢

从部分代码列表中可以看出,您没有完成所需的所有任务。您已将初始控制器设置为委托,但未在头文件中将委托定义为属性,也未在实现文件中将其合成。此外,您没有将其添加到第二个控制器,但尝试调用第一个控制器的可选方法,并且调用不正确。我想这就是它崩溃的原因。 您所使用的Seques,加上通知,可以完成委托所能完成的许多事情。 你需要研究一下通知和顺序。。。它允许您在控制器之间来回传递数据。而且,在你的情况下,你需要这样做。 观看适当的WWDC视频,学习一些教程,这些是最好的

    #import <UIKit/UIKit.h>
#import "DAYfoodTableViewController.h"
@interface DAYaddFoodViewController : UIViewController

@property (nonatomic, weak) DAYfoodTableViewController *foodTableViewController;

- (IBAction)addFoodButton:(id)sender;

@property (weak, nonatomic) IBOutlet UITextField *addFoodText;

@end
#import "DAYaddFoodViewController.h"


@interface DAYaddFoodViewController ()


@end

@implementation DAYaddFoodViewController

@synthesize foodTableViewController;
@synthesize addFoodText;


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)addFoodButton:(id)sender {

    NSString *newFood = [addFoodText text];

    [foodTableViewController addFood:newFood];

    [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];

}
@end