• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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:

RUMTom

Grahams Jubiläumsapfel
Registriert
11.09.04
Beiträge
104
Wonach willst du wo und wie suchen? Die Lottozahlen von gestern, oder das Wetter für morgen?
 

Markussm

Granny Smith
Registriert
20.12.14
Beiträge
14
Ich will den Inhalt des arrays "arryweiterFunktionen" durchsuchen.
und ich will wissen ob ich das besser bzw. "schöner" programmieren kann.
 

lx88

Stina Lohmann
Registriert
02.09.09
Beiträge
1.027
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