Xcode를 처음 접하고 나 자신을 배우려고 노력하면서 문제는 순진하지만 실제로 도움이 필요합니다. 소스 코드로 완성 된 프로젝트를 통해 전자 책을 만드는 법을 배우고 있습니다. sqlite3을 통해 책갈피를 완벽하게 기록합니다. 그러나 다른 이름과 경로를 가진 새 프로젝트를 만들 때 libsqlite3.dylib의 pharse를 올바르게 작성하고 거의 모든 코드를 복사하면 책갈피 창을 방문하려고 할 때 else 문이 호출되고 충돌이 발생합니다.sqlite3을 처음 사용하다가 마침내 수천 가지 방법으로 문제를 해결해 보았습니다.
여기에 내가 나 자신에게 물었다 몇 가지 질문,
- 가 난 아무것도 그리워했던, 또는 이름이나 경로 변경에 실패이야? 대답했다 : 아니오.
- 하나가 완벽하게 실행되고 거의 동일한 코드가 충돌하는 다른 오류는 가장 큰 오류일까요? 대답 :이 두 프로젝트 등 경로, 이름, 파일의 내용과 매우 다른 점.
그런 다음 좋은 프로젝트의 데이터베이스 파일 이름을 변경했는데 충돌이 발생합니다. 내가 존재하지 않는다면, sqlite3_open([dbPath UTF8String], &dataBase);
이 파일을 생성한다고 들었 기 때문에 믿을 수가 없었습니다. 새 파일에 액세스하라는 메시지가 나오면 왜 새 이름으로 새 파일을 만들지 않습니까?
두 번째 테스트에서는 새 프로젝트의 db 파일 경로를 원래 파일의 db 파일 경로로 수동으로 변경했습니다. 경로는 더 이상 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
이지만 @/"/ Users/~ (원래 경로) ~/Documents/archive"이고 omg는 작동합니다. 물론 나는 그 경로가 실제 아이폰에는 아무런 의미가 없으며 여전히 원본 파일의 db 파일에 의존하기 때문에 그대로 둘 수는 없습니다.
적어도 경로가 중요하다는 것을 알고 있으며 내 새 프로젝트에서 db 파일과 같은 것이 누락 된 것 같습니다. 하지만 원래 프로젝트의 경로에 db 파일을 찾지 못했지만, 존재하고 중요하게 보이지만 파인더에서는 표시되지 않습니다.
필자는 [self createEditableCopyOfDatabaseIfNeeded]를 호출하는 것과 같이 파일을 내 새 경로 programaticlly에 복사하려고했습니다. 새로운 길과 오래된 길. 그게 제가 지금까지 시도한 전부입니다.
이상한 일은 알 수없는 시도 후에 글꼴과 색을 어떻게 든 기록하지만 책갈피 창으로 이동하면 여전히 충돌합니다.
3 일 만에 내가 시도한 것입니다. 질문에 대답하거나 적어도 수천 번의 시도 후에 내가 어떻게 화가 났는지 알 수 있습니다. 도움을 기다리고 고맙습니다.
const char * createSQL = "BOOKMARK (POS REAL PRIMARY KEY, \ fontsize REAL, \ bookpath TEXT)가 존재하지 않으면 테이블 만들기";
새로 추가 : 데이터베이스가 준비되지 않았을 때 프로그램이 자동으로 충돌을 일으키기 때문에 누군가가 말한 것처럼 meg는 쓸모가 없습니다. 내가 필요로하는 것은 아마 거짓말이 아닌 sqlite3_prepare(dataBase, [querySQL UTF8String], -1, &statement, nil) == SQLITE_OK
을 만드는 것이다.
정확히 어디에서 오류가 발생하며 어떤 오류 메시지가 표시됩니까? 프로젝트에 데이터베이스 파일을 추가 했습니까? – user371320
런타임에 표시되는 오류 메시지를 제공하십시오. –
상기시켜 주셔서 감사합니다! 오류 메시지가 추가되었습니다. –