Mein Tableview Controller crasht jedes mal wenn ich anfange zu scrollen. Es gibt hier schon ein paar Themen dazu aber keines hat mir weitergeholfen.
Ich bin noch neu in der Iphone programmierung und würde mich sehr freuen wenn mir hier jemand helfen könnte.
Der error code mit nszombies ist:
ohne nszombies gibts gar keine meldung und es crasht einfach.
hier der code:
Alles anzeigen
Ich bin noch neu in der Iphone programmierung und würde mich sehr freuen wenn mir hier jemand helfen könnte.
Der error code mit nszombies ist:
ohne nszombies gibts gar keine meldung und es crasht einfach.
hier der code:
Quellcode
- #import "StateTableViewController.h"
- @implementation StateTableViewController
- #pragma mark -
- #pragma mark init
- - (id)init {
- [super initWithNibName:nil bundle:nil];
- UITabBarItem *tbi = [self tabBarItem];
- [tbi setTitle:@"Bundesländer"];
- states = [[NSMutableArray alloc] init];
- //Database
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *path = [paths objectAtIndex:0];
- NSString *fullPath = [path stringByAppendingPathComponent:@"kulturfahrt.db"];
- NSFileManager *fm = [NSFileManager defaultManager];
- BOOL exists = [fm fileExistsAtPath:fullPath];
- if (exists) {
- NSLog(@"%@ exists - just opening", fullPath);
- } else {
- NSLog(@"%@ does not exist - copying and opening", fullPath);
- NSString *pathForStartingDB = [[NSBundle mainBundle] pathForResource:@"kulturfahrt" ofType:@"db"];
- BOOL success = [fm copyItemAtPath:pathForStartingDB toPath:fullPath error:NULL];
- if (!success) {
- NSLog(@"database copy failed");
- }
- }
- const char *cFullPath = [fullPath cStringUsingEncoding:NSUTF8StringEncoding];
- if (sqlite3_open(cFullPath, &database) != SQLITE_OK) {
- NSLog(@"unable to open database at %@", fullPath);
- }
- //Database query
- if (!statement) {
- char *cQuery = "SELECT id, name FROM STATES ORDER BY id";
- if (sqlite3_prepare_v2(database, cQuery, -1, &statement, NULL) != SQLITE_OK) {
- NSLog(@"query error : %s", statement);
- }
- }
- while (sqlite3_step(statement) == SQLITE_ROW) {
- const char *cStateName = (const char *)sqlite3_column_text(statement, 1);
- NSString *stateName = [[[NSString alloc] initWithUTF8String:cStateName] autorelease];
- NSInteger iStateId = sqlite3_column_int(statement, 0);
- NSNumber *nStateId = [NSNumber numberWithInt:iStateId];
- NSDictionary *stateDict = [[NSDictionary alloc] initWithObjectsAndKeys:nStateId,@"id",
- stateName,@"name", nil];
- //NSLog(@"%@, %@", nStateId, stateName);
- [states addObject:stateDict];
- [stateDict release];
- }
- sqlite3_reset(statement);
- return self;
- }
- #pragma mark -
- #pragma mark lifecycle
- - (void)dealloc {
- [states release];
- states = nil;
- sqlite3_close(database);
- [super dealloc];
- }
- #pragma mark -
- #pragma mark Table View Data Source Methods
- - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section {
- return [states count];
- }
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)ip {
- NSDictionary *stateDict = [states objectAtIndex:[ip row]];
- NSString *name = [stateDict objectForKey:@"name"];
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];
- if (!cell) {
- cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
- reuseIdentifier:@"UITableViewCell"];
- [cell autorelease];
- }
- [[cell textLabel] setText:name];
- return cell;
- }
- @end
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ZeRo ()