Das hat mir schon sehr geholfen. Der Videocast war sehr gut, besser zu verstehen als in den büchern die ich hier rumliegen hab :)
Also ich habe jetzt eine Tabelle die ich über ein Array mit Daten fülle. Ist es möglich die SSIDs von WLANs, die beim Scannen gefunden werden in ein Array zu packen und damit dann die Tabelle zu füllen?
Das Problem was ich habe ist, wie gelange ich an die SSIDs?
btw. habe mir die Lizenz für 99$ besorgt und Teste die Anwendungen nun auf meinem iPhone, ich muss wirklich sagen, dass es mir nochmals einen Motivationsschub gegeben hat. Es ist ein gutes Gefühl die soeben erstellte Anwendung auf dem einegen iPhone abzuspielen :)
Auch ist es so besser für das WLAN scannen, weil ich nicht sicher bin ob der Simulator diese Funktion bietet.
Also, ich habe nun diese Methode dort aufgerufen, wo ich vorher die Tabelle mit Daten gefüllt habe. list als NSArray deklariert und es startet ohne fehler. Allerdings erscheint keine Tabelle. So sieht es im code aus:
- (id)initWithStyle:(UITableViewStyle)style {
// Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
if ((self = [super initWithStyle:style])) {
//dataArray = [[NSArray alloc]initWithObjects:@"SSID1",@"SSID2",@"Wlan",@"Test",@"Automa",@"Bla", nil];
int Apple80211Scan(struct Apple80211 *handle, CFArrayRef *list, CFDictionaryRef *parameters);
dataArray = list;
}
return self;
}
- (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];
}
// Configure the cell…
cell.textLabel.text = [dataArray objectAtIndex:indexPath.row];
return cell;
}
Irgendwie sieht es auch für mich nicht richtig aus.
Also der Ort für den Aufruf würde ich nicht dort hinein tun. Mach doch eine neue Methode. Diese kannst du dann später auch aufrufen z.B. mit einem Refresh-Knopf.
Im Programm rufst du die Methode in viewDidLoad auf.
Du kannst dir den Inhalt des Arrays ausgeben lassen in der Konsole mit NSLog (jaja, debuggen geht auch): NSLog(@“list%@”, list);
Immer interessant ist auch die Anzahl Elemente im Array: NSLog(@“list count: %i”, [list count]);
Wenn du die Zeile dataArray = [[NSArray alloc]initWithObjects:@“SSID1”.... “entkommentierst”, erscheint dann etwas?
Also so wie ich das sehe, rufst du die Methode etwas falsch auf. Sollte eher so sein: Apple80211Scan(airportHandle,&results;,parameters);
Ja, die tabelle funktioniert. Hatte noch mit ein paar problemen mit views zu kämpfen. Weil ich die tabelle zuerst programmatisch erstellt habe, konnte ich sie im interface builder nicht finden und dadurch war die tabelle immer im vordergrund. Das habe ich gelöst, indem ich eine tabelle mit dem builder erstellt habe. Diese funktioniert auch mit dem dataArray.
Das Array ist nicht leer, es enhält die drei daten @“SSID”... kein NSDictionary.
:) die tabelle funktioniert. aber nicht der scanner. ich weiss nicht genau was ich da jetzt alles in das projekt aus den ganzen beispielscodes implementieren soll. da sitze ich noch dran und verzweifel langsam.
Indem du dataArray füllst mit dem Suchresultat? Auf der Seite hat es sogar ein Beispiel wie man dies mit einer for-Schleife macht. Wobei er kein NSArray verwendet sondern ein NSMutableDictionary.
Wollen dann ein Printscreen sehen wenns funktioniert :-)
Tipp: Für eine bessere Übersicht im Code kann man #pragma mark - verwenden. z.B. : #pragma mark Meine Tabelle
ja… ich weiss, dass ich die gefundenen wlans in das dataArray hinzufügen muss. Aber irgendwie will das nicht klappen.
Also ich habe aus meinem code das alte dataArray auskommentiert, das die “gefakten” SSIDs anzeigte.
Das neue dataArray sieht jetzt so aus:
Spuckt keine errors raus, application startet aber tabelle bleibt leer.
/edit:
Hmm ich müsste das array ja auch noch leeren, wenn ich mich bewege und andere wlans scanne oder?
/edit die 2te:
Müsste es nicht ein NSMutableArray sein?
Its done :)
Hat etwas gedauert aber nun läuft alles so wie vorgesehen. Habe allerdings nicht das array genommen sondern ein mutabledictionary.
Danke flexo für die hilfe.
wenn ich noch herausfinde wie ich ein screenshot vom iphon machen kann wirds nachgereicht :)
Home-Knopf und den Sperr-Knopf gleichzeitig drücken.
Sehr gut. Danke.
Habe auch gerade bekommen um eine bessere Hilfe zu geben :-)
Ja, networks ist ein NSMutableDictionary.
Anmelden um neue Antworten zu verfassen
Allegra Leser! Nur angemeldete Nutzer können bei diesem Beitrag Antworten hinterlassen. Jetzt kostenlos registrieren oder mit bestehendem Benutzerprofil anmelden.
xcode WLAN Spots anzeigen
xcodeneuling
flexo
xcodeneuling
flexo
xcodeneuling
flexo
xcodeneuling
flexo
xcodeneuling
flexo
xcodeneuling
flexo
xcodeneuling
xcodeneuling
flexo
Anmelden um neue Antworten zu verfassen
Allegra Leser! Nur angemeldete Nutzer können bei diesem Beitrag Antworten hinterlassen. Jetzt kostenlos registrieren oder mit bestehendem Benutzerprofil anmelden.