저는 몇 시간 동안 문제를 해결하고 외부 입력에 감사 할 것입니다. 저는 iOS, Objective-C 및 SQLite를 처음 사용하고 SQLite Update 문을 실행하려고합니다. 문제는 UI가 멈추고 SQLite 내 프로세스에서 끊기는 것 같습니다.업데이트시 SQLite 데이터베이스가 응답을 멈 춥니 다.
NSString *docsPath = [paths objectAtIndex:0];
NSString *path = [docsPath stringByAppendingPathComponent:@"SQLite3Database.sqlite"];
SQLite3_instance *db = [SQLite3_instance databaseWithPath:path];
[db open];
NSString *execUpdate = [NSString stringWithFormat:@"update ListItem set status=%i,message=\"%@\",GPSLong=%@, GPSLat=%@,lastUpdated=DateTime('now') where userID = %@",[Status_Picker selectedRowInComponent:0],messageTextField.text , longitude, latitude,loggedinUserID];
NSLog(@"execUpdate: %@", execUpdate);
if (![db executeUpdate:execUpdate])
NSLog(@"Data insert failed %@", db.lastErrorMessage);
이 코드가있는 UIButton을 클릭 한 후 IBAction를 실행하지만, 앞서 언급은 UI를하는 과정에서 걸려 :
여기에 코드입니다. 상기 코드의 출력은 다음
* execUpdate : 갱신을 ListItem 세트 상태 = 0, 메시지 = ""GPSLong = 44.48916, GPSLat = 6.28739, lastUpdated = 날짜 시간 ('현재') 여기서, 사용자 ID = 1 *
누구든지이 코드가 끊어지는 것을 볼 수 있습니까?
Xcode 메모리 누수 문제가있는 것처럼 보입니다. 시간이 지나면 벽을 두드리고 벽을 닫고 다시 시작하여 문제를 해결했습니다.
sql 문 (injection etc ...)의 문자열 형식을 지정하면 안됩니다. params를 사용하십시오. 참조 : http://stackoverflow.com/questions/10424043/right-way-of-inserting-data-into-sqlite-db-iphone/10424264#10424264 – bryanmac