• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Tableview und Searchbar

Markussm

Granny Smith
Registriert
20.12.14
Beiträge
14
Hi
ich möchte in meiner iPhone App ein Menü ( Tableview) mit einer Suche einbauen. Kann mir jemand helfen, wie ich in den untenstehenden code eine suche einfüge??
was ich schon versucht habe:

Code:
#import "FormelView.h"
@implementation FormelView
@synthesize schnittView, drehzahlView, tanaView, kegellaengeView,harteview,zeitspanvol,laengenview,volumenview,schwindungview,reibungview,leistungview,fehlkegelview,pyhagoview,bogenlview,fedlview,gewkview,vorview,schluweiview,trigo;
@synthesize mainTableView = ivMainTableView;

- (void)viewDidLoad {
  self.automaticallyAdjustsScrollViewInsets = NO;
  self.navigationItem.title =  NSLocalizedString(@"more", nil);
   arryweiterFunktionen = [[NSArray alloc] initWithObjects:
  NSLocalizedString(@"Schnittgeschwindigkeit", nil),
  NSLocalizedString(@"Drehzahl", nil),
  NSLocalizedString(@"tan", nil),
  NSLocalizedString(@"Kegellänge", nil),
  NSLocalizedString(@"Harte", nil),
  NSLocalizedString(@"ZeitSpan", nil),
  NSLocalizedString(@"Länge", nil),
  NSLocalizedString(@"VolumenView", nil),
  NSLocalizedString(@"Schwindung", nil),
  NSLocalizedString(@"Reibung", nil),
  NSLocalizedString(@"Leistung", nil),
  NSLocalizedString(@"Fehlkegel", nil),
  NSLocalizedString(@"Trigonometrie", nil),
  NSLocalizedString(@"Bogenl", nil),
  NSLocalizedString(@"Federl", nil),
  NSLocalizedString(@"Gewk", nil),
  NSLocalizedString(@"Vorschub", nil),
  NSLocalizedString(@"Schluweit", nil),
  NSLocalizedString(@"Trigo", nil),nil];
  [super viewDidLoad];
}

- (NSInteger)numberOfSectionsInTableView: (UITableView *)tableView {
  return 19;
}
- (NSInteger)tableView: (UITableView *)tableView numberOfRowsInSection: (NSInteger)section {
  //return [arryalgdreher count];
  return 1;
}

- (UITableViewCell *)tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath {
  static NSString *CellIdentifier = @"Cell";
  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

  if (cell == nil) {

  cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
  }
  cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
  //cell.textLabel.text = [arryalgdreher objectAtIndex:indexPath.row];
  cell.textLabel.text = [arryweiterFunktionen objectAtIndex:indexPath.section];

  return cell;
}
/*- (NSInteger)tableView: (UITableView *)tableView numberOfRowsInSection: (NSInteger)section {
return [arryweiterFunktionen count];
}
- (UITableViewCell *)tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if(indexPath.section == 0){
cell.textLabel.text = [arryweiterFunktionen objectAtIndex:indexPath.row];
}
return cell;
}
*/
- (void)tableView: (UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath {
  // if(indexPath.section == 0)
  //  switch (indexPath.row) {
  switch (indexPath.section) {
  case 0:
  if(self.schnittView == nil) {
  SchnittView *viewTwo = [[SchnittView alloc] initWithNibName: ("SchnittView" bundle:[NSBundle mainBundle]];
  self.schnittView = viewTwo;
  }
  [self.navigationController pushViewController:  self.schnittView animated:YES];
  break;
  case 1:
  if(self.drehzahlView == nil) {
  DrehzahlView *viewTwo = [[DrehzahlView alloc] initWithNibName: ("DrehzahlView" bundle:[NSBundle mainBundle]];
  self.drehzahlView = viewTwo;
  }
  [self.navigationController pushViewController:self.drehzahlView animated:YES];
  break;
  case 2:
  if(self.tanaView == nil) {
  tana2View *viewTwo = [[tana2View alloc] initWithNibName: ("tana2View" bundle:[NSBundle mainBundle]];
  self.tanaView = viewTwo;
  }
  [self.navigationController pushViewController:self.tanaView animated:YES];
  break;
  case 3:
  if(self.kegellaengeView == nil) {
  KegellaengeView *viewTwo = [[KegellaengeView alloc] initWithNibName: ("KegellaengeView" bundle:[NSBundle mainBundle]];
  self.kegellaengeView = viewTwo;
  }
  [self.navigationController pushViewController:self.kegellaengeView animated:YES];
  break;
  case 4:
  if(self.harteview == nil) {
  HartView *viewTwo = [[HartView alloc] initWithNibName: ("HartView" bundle:[NSBundle mainBundle]];
  self.harteview = viewTwo;
  }
  [self.navigationController pushViewController:self.harteview animated:YES];
  break;
  case 5:
  if(self.zeitspanvol == nil) {
  ZeitSpanVol *viewTwo = [[ZeitSpanVol alloc] initWithNibName: ("ZeitSpanVol" bundle:[NSBundle mainBundle]];
  self.zeitspanvol = viewTwo;
  }
  [self.navigationController pushViewController:self.zeitspanvol animated:YES];
  break;
  case 6:
  if(self.laengenview == nil) {
  LaengenView *viewTwo = [[LaengenView alloc] initWithNibName: ("LaengenView" bundle:[NSBundle mainBundle]];
  self.laengenview = viewTwo;
  }
  [self.navigationController pushViewController:self.laengenview animated:YES];
  break;
  case 7:
  if(self.volumenview == nil) {
  VolumenView *viewTwo = [[VolumenView alloc] initWithNibName: ("VolumenView" bundle:[NSBundle mainBundle]];
  self.volumenview = viewTwo;
  }
  [self.navigationController pushViewController:self.volumenview animated:YES];
  break;
  case 8:
  if(self.schwindungview == nil) {
  SchwindungView *viewTwo = [[SchwindungView alloc] initWithNibName: ("SchwindungView" bundle:[NSBundle mainBundle]];
  self.schwindungview = viewTwo;
  }
  [self.navigationController pushViewController:self.schwindungview animated:YES];
  break;
  case 9:
  if(self.reibungview == nil) {
  ReibungView *viewTwo = [[ReibungView alloc] initWithNibName: ("ReibungView" bundle:[NSBundle mainBundle]];
  self.reibungview = viewTwo;
  }
  [self.navigationController pushViewController:self.reibungview animated:YES];
  break;
  case 10:
  if(self.leistungview == nil) {
  LeistungView *viewTwo = [[LeistungView alloc] initWithNibName: ("LeistungView" bundle:[NSBundle mainBundle]];
  self.leistungview = viewTwo;
  }
  [self.navigationController pushViewController:self.leistungview animated:YES];
  break;
  case 11:
  if(self.fehlkegelview == nil) {
  FehlKegelView *viewTwo = [[FehlKegelView alloc] initWithNibName: ("FehlKegelView" bundle:[NSBundle mainBundle]];
  self.fehlkegelview = viewTwo;
  }
  [self.navigationController pushViewController:self.fehlkegelview animated:YES];
  break;
  case 12:
  if(self.pyhagoview == nil) {
  PythagoView *viewTwo = [[PythagoView alloc] initWithNibName: ("PythagoView" bundle:[NSBundle mainBundle]];
  self.pyhagoview = viewTwo;
  }
  [self.navigationController pushViewController:self.pyhagoview animated:YES];

  /*UIAlertView *message = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"updatetitle", nil)
  message:NSLocalizedString(@"update", nil)
  delegate:self
  cancelButtonTitle:NSLocalizedString(@"Zurück", nil)
  otherButtonTitles: nil];
  [message show];
  }*/
  break;
  case 13:
  if(self.bogenlview == nil) {
  BogenlView *viewTwo = [[BogenlView alloc] initWithNibName: ("BogenlView" bundle:[NSBundle mainBundle]];
  self.bogenlview = viewTwo;
  }
  [self.navigationController pushViewController:self.bogenlview animated:YES];
  break;
  case 14:
  if(self.fedlview == nil) {
  FedlView *viewTwo = [[FedlView alloc] initWithNibName: ("FedlView" bundle:[NSBundle mainBundle]];
  self.fedlview = viewTwo;
  }
  [self.navigationController pushViewController:self.fedlview animated:YES];
  break;
  case 15:
  if(self.gewkview == nil) {
  GewkView *viewTwo = [[GewkView alloc] initWithNibName: ("GewkView" bundle:[NSBundle mainBundle]];
  self.gewkview = viewTwo;
  }
  [self.navigationController pushViewController:self.gewkview animated:YES];
  break;
  case 16:
  if(self.vorview == nil) {
  VorView *viewTwo = [[VorView alloc] initWithNibName: ("VorView" bundle:[NSBundle mainBundle]];
  self.vorview = viewTwo;
  }
  [self.navigationController pushViewController:self.vorview animated:YES];
  break;
  case 17:
  if(self.schluweiview == nil) {
  SchlueWeitView *viewTwo = [[SchlueWeitView alloc] initWithNibName: ("SchlueWeitView" bundle:[NSBundle mainBundle]];
  self.schluweiview = viewTwo;
  }
  [self.navigationController pushViewController:self.schluweiview animated:YES];
  break;
  case 18:
  if(self.trigo == nil) {
  TrigView *viewTwo = [[TrigView alloc] initWithNibName: ("TrigView" bundle:[NSBundle mainBundle]];
  self.trigo = viewTwo;
  }
  [self.navigationController pushViewController:self.trigo animated:YES];
  break;
  default:
  break;
  }
}
@end


Habe einige Zeilen gelöscht um Platz zu sparen(viewdidunload, usw.).
Viele Grüße
Markus
 
Zuletzt bearbeitet von einem Moderator:
Wonach willst du wo und wie suchen? Die Lottozahlen von gestern, oder das Wetter für morgen?
 
Ich will den Inhalt des arrays "arryweiterFunktionen" durchsuchen.
und ich will wissen ob ich das besser bzw. "schöner" programmieren kann.
 
Auch wenn der Thread schon ein wenig älter ist: Hast du dir schon mal ein Tutorial diesbezüglich angesehen:

Ray Wenderlich kann man dazu immer ganz gut lesen:
http://www.raywenderlich.com/16873/how-to-add-search-into-a-table-view

Teilweise schon ein wenig in die Jahre gekommen, aber ich finde es vermittelt einen guten Eindruck der Vorgehensweise.

Bzgl. deines Codes: Überlege dir ob du auf @synthesize
verzichtest und die Objekte (bspw. arryweiterFunktionen ) über _arryweiterFunktionen oder die dot-Syntax:
self.arryweiterFunktionen ansprichst.

Meiner Meinung nach zu bevorzugen: self.arryweiterFunktionen