• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Tableview und Searchbar

  • Ersteller Ersteller Gelöschter User 196824
  • Erstellt am Erstellt am

Gelöschter User 196824

Gast
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