-1
我正在嘗試做的是一個應用程序,它可以讓你輸入一個任務到一個字段,按下插入並在下面的表格中看到它。我有我的表格(*table
),我的字段(*taskField
),我的按鈕(*insert
)和我的陣列(*tasks
)。我運行應用程序,鍵入內容並按下插入,但沒有顯示在表格中。我也相信我的所有「IB」的東西都設置正確。UITableView SDK添加陣列
這裏是我的代碼:
NSString *docPath()
{
NSArray *pathList = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES);
return [[pathList objectAtIndex:0] stringByAppendingPathComponent:@"data.td" ];
}
#import "CookViewController.h"
@interface CookViewController()
@end
@implementation CookViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (IBAction)addRec:(id)sender
{
NSString *t=[taskField text];
if ([t isEqualToString:@""]) {
return;
}
[tasks addObject:t];
[table reloadData];
[taskField setText:@""];
[taskField resignFirstResponder];
[tasks writeToFile:docPath()
atomically:YES];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
[tasks removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; }
}
#pragma mark - Table View management
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [tasks count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *c= [table dequeueReusableCellWithIdentifier:@"Cell"];
if (!c) {
c= [[ UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
NSString *item = [tasks objectAtIndex:[indexPath row]];
[[c textLabel] setText:item];
return c;
}
@end
我的數據源和委託沒有指向任何東西,只要我可以告訴(鄰的是空的) 。我的參考出口指向addRec並且有一個黑色的o。我沒有在我的文件中看到任何像UITableViewDataSource。我需要改變一些東西嗎?我的數據源/代表應該指向什麼?我可以給你更多的信息嗎?謝謝! – user1438042
我已經用你需要做的兩件事更新了我的答案,基本上將它們設置爲指向StoryBoard中的ViewController並更改頭文件。另外,你可以在'cellForRowAtIndexPath'函數中使用NSLog來知道它實際上是否被調用。 – vellvisher
你是什麼意思把他們拖到ViewController?在我的.h/.m文件中有一個?我不知道我需要拖到哪裏。「@interface ViewController:UIViewController」不顯示在我的文件中的任何位置。什麼是StoryBoard?感謝您的幫助,對不起,如果我很難,我很新。 –
user1438042