Hi,
ich will eine kleine App schreiben die eine TableView hat und Daten aus einer plist lädt .
Das hab ich soweit auch durch diverse Videos hinbekommen aber sobald ich eine Searchbar anlegen will killt sich die App.
CellViewController.h & CellViewController.m
Spoiler anzeigen
Eigentlich eine einfache kiste (TableView / Pilst / searchBar) aber ich scheitere wohl schon hier dran.
Ich will eine App haben in der ich nach Fragen/Antworten suchen kann. Und die Plist dann später einfach erweitern.
Wie kann man hier am besten seinen Code teilen bzw sein Projekt ?
ich will eine kleine App schreiben die eine TableView hat und Daten aus einer plist lädt .
Das hab ich soweit auch durch diverse Videos hinbekommen aber sobald ich eine Searchbar anlegen will killt sich die App.
CellViewController.h & CellViewController.m
#import <UIKit/UIKit.h>
#import "CustomCell.h"
@interface CellViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate, UISearchDisplayDelegate>
@property (strong, nonatomic) IBOutlet UITableView *myTableView;
@property (strong, nonatomic) IBOutlet UISearchBar *searchBar;
@end
---------------------------------------------------------------------------------------------------------------------------------------------------
CellViewController.m
#import "CellViewController.h"
#import "CustomCell.h"
@interface CellViewController ()
{
NSArray *Title;
NSArray *SubTitle;
NSArray *QuestionArray;
}
@property (nonatomic, copy) NSMutableArray *filtered;
@property (nonatomic, strong)UISearchDisplayController *searchController;
@end
@implementation CellViewController
@synthesize filtered, searchController;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *tableView = (id)[self.view viewWithTag:1];
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
filtered = [[NSMutableArray alloc]init];
searchController = [[UISearchDisplayController alloc]init];
searchController.searchResultsDataSource = self;
self.myTableView.dataSource = self;
self.myTableView.delegate = self;
NSString *pfad = [[NSBundle mainBundle] pathForResource:@"Que" ofType:@"plist"];
QuestionArray = [NSArray arrayWithContentsOfFile:pfad];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView.tag == 1) {
return [QuestionArray count];
}
else {
return [filtered count];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
CustomCell *Cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (tableView.tag == 1) {
Cell.Title.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
Cell.SubTitle.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Number"];
}
else {
Cell.Title.text = filtered[indexPath.row];
}
//Cell.Title.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
//Cell.SubTitle.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Number"];
return Cell;
}
@end
#import "CustomCell.h"
@interface CellViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate, UISearchDisplayDelegate>
@property (strong, nonatomic) IBOutlet UITableView *myTableView;
@property (strong, nonatomic) IBOutlet UISearchBar *searchBar;
@end
---------------------------------------------------------------------------------------------------------------------------------------------------
CellViewController.m
#import "CellViewController.h"
#import "CustomCell.h"
@interface CellViewController ()
{
NSArray *Title;
NSArray *SubTitle;
NSArray *QuestionArray;
}
@property (nonatomic, copy) NSMutableArray *filtered;
@property (nonatomic, strong)UISearchDisplayController *searchController;
@end
@implementation CellViewController
@synthesize filtered, searchController;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *tableView = (id)[self.view viewWithTag:1];
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
filtered = [[NSMutableArray alloc]init];
searchController = [[UISearchDisplayController alloc]init];
searchController.searchResultsDataSource = self;
self.myTableView.dataSource = self;
self.myTableView.delegate = self;
NSString *pfad = [[NSBundle mainBundle] pathForResource:@"Que" ofType:@"plist"];
QuestionArray = [NSArray arrayWithContentsOfFile:pfad];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView.tag == 1) {
return [QuestionArray count];
}
else {
return [filtered count];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
CustomCell *Cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (tableView.tag == 1) {
Cell.Title.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
Cell.SubTitle.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Number"];
}
else {
Cell.Title.text = filtered[indexPath.row];
}
//Cell.Title.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
//Cell.SubTitle.text = [[QuestionArray objectAtIndex:indexPath.row] objectForKey:@"Number"];
return Cell;
}
@end
Eigentlich eine einfache kiste (TableView / Pilst / searchBar) aber ich scheitere wohl schon hier dran.
Ich will eine App haben in der ich nach Fragen/Antworten suchen kann. Und die Plist dann später einfach erweitern.
Wie kann man hier am besten seinen Code teilen bzw sein Projekt ?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Robert Schmidt ()