我使用带有故事板的 Xcode 4.3.2,因为我是新手,所以代码知识不是很好。到目前为止,我已经由主视图控制器创建,它链接到包含数据的表视图。但是我不知道如何将它链接到一个新的视图控制器,即如果我将一个新的视图控制器拖到情节提要页面上,我希望能够选择表格视图中的单元格,然后打开一个包含详细信息的新页面。到目前为止,在教程的帮助下我的代码是:-
视图控制器.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITabBarDelegate, UITableViewDataSource, UISearchBarDelegate>
{
IBOutlet UITableView * tableView;
IBOutlet UISearchBar * searchBar;
NSArray * allItems;
NSMutableArray * displayItems;
}
@end
视图控制器.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
allItems = [[NSArray alloc] initWithObjects:@"K12", @"K14", @"K16", @"K18", @"K42", @"K43", @"K46", @"K53", @"K60", @"K68", @"K81", @"K83", nil];
displayItems = [[NSMutableArray alloc] initWithArray:allItems];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [displayItems count];
}
- (UITableViewCell *)tableView:(UITableView *)atableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
cell.textLabel.text = [displayItems objectAtIndex:indexPath.row];
return cell;
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if ([searchText length] == 0) {
[displayItems removeAllObjects];
[displayItems addObjectsFromArray:allItems];
} else {
//here
[displayItems removeAllObjects];
for (NSString * string in allItems) {
NSRange r = [string rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (r.location != NSNotFound) {
[displayItems addObject:string];
}
}
}
[tableView reloadData];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)aSearchBar {
[searchBar resignFirstResponder];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
@end
我觉得解决应用程序的其余部分只是停留在这一点上并搜索教程查看了各种代码但因为我的知识非常有限我只需要一个傻瓜指南或者更好的是如果有人可以告诉我要添加什么代码将是伟大的。
谢谢伙计们,我们将不胜感激。