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