所以我想把它拼凑起来 - 我已经做了一个小的单一视图应用程序来学习: - )
我想要实现的目标,你可以通过容纳的代码和图像看到我有一个textField和一个提交到UITable按钮 - 我已经嵌入导航视图中的第一个UIView,以便UITableView可以显示这是结果。现在我收到了2个错误,我知道我忘记了什么,但我无法弄清楚如何写出声明它们。
AddingViewController.h代码
@interface AddingViewController : UIViewController {
Dfetch *dao;
IBOutlet UITextField *addToPlistTxt;
IBOutlet UITableView *table;
NSArray *testList;
}
@property (retain, nonatomic) IBOutlet UITextField *addToPlistTxt;
@property (retain, nonatomic) IBOutlet UITableView *table;
@property (retain, nonatomic) NSArray *testList;
-(IBAction)makeKeyBoardGoAway;
-(IBAction)submitToPlistAction;
@end
AddingViewController.m的代码:
@implementation AddingViewController
@synthesize addToPlistTxt;
@synthesize table;
@synthesize testList;
//Not very elegant way to dismiss keyboard, but it will do for the excersize
-(IBAction)makeKeyBoardGoAway{
[addToPlistTxt resignFirstResponder];
}
-(IBAction)submitToPlistAction{
NSString *path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
NSString *addLine = self.addToPlistTxt.text;
NSArray *values = [[NSArray alloc] initWithObjects:addLine, nil];
NSArray *keys = [[NSArray alloc] initWithObjects:NAME_KEY, nil];
NSDictionary *dict = [[NSDictionary alloc] initWithObjects:values forKeys:keys];
[self.testList addObject:dict];
[self.testList writeToFile:path atomically:YES];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
@end
现在我只是想学习这个,因此我粘贴了整个文件,以便我可以看到我出错的地方。
错误是:
NSArray *keys = [[NSArray alloc] initWithObjects:NAME_KEY, nil];
和
[self.testList addObject:dict];
一旦我将这两个排序后,是否应该为我设置将数据添加到我的pList?
我在下面添加了截图,因此您无需可视化用户界面: - )
我希望这一切都有意义 - 感谢任何建议: - )
干杯杰夫
答案 0 :(得分:1)
NAME_KEY应该是一些字符串,在上面定义,它被引用(在.h
接口文件或.m
实现文件中)。
E.G:
#define NAME_KEY @"jwk82"
至于dict
没有添加,我想知道你的addToPlistTxt
UITextField是否为零,这是导致错误(或崩溃)的原因。
在创建NSDictionary对象之前设置断点并查找。