Не совсем уверен, почему это не работает.
sqlite3 *db;
sqlite3_open([databasePath UTF8String], &db);
NSString *query;
NSNumber *start = (*cur_page * 50) - 50;
query = [NSString stringWithFormat:@"SELECT rest_db.rest_id, rest_db.name, prices.value FROM rest_db JOIN prices ON rest_db.rest_id = prices.table_id WHERE prices.table_name = 'rest_db' ORDER BY rest_db.name ASC %d Limit 50;", start];
Ранее код выглядел так:
sqlite3 *db;
sqlite3_open([databasePath UTF8String], &db);
NSString *query;
query = @"SELECT rest_db.rest_id, rest_db.name, prices.value FROM rest_db JOIN prices ON rest_db.rest_id = prices.table_id WHERE prices.table_name = 'rest_db' ORDER BY rest_db.name ASC";
который работал просто отлично. Я попытался установить запуск как:
int start
int *start
NSString *start
и, конечно же, я изменил "%d" соответственно для строки. Все безрезультатно. Я в неведении на данный момент. Программа вылетает, когда я попадаю на эту страницу сейчас. Ошибок нет, ничего не могу написать с помощью NSLog.
Я также пытался использовать:
[NSString alloc] initWithFormat
Есть идеи? Их ценят. Спасибо.
----------------------------- РЕДАКТИРОВАТЬ -------------------- --------
.h
int page_count;
int cur_page;
@property int page_count;
@property int cur_page;
.m
@synthesize page_count;
@synthesize cur_page;
int start = (cur_page * 50) - 50;
query = [NSString stringWithFormat:@"SELECT rest_db.rest_id, rest_db.name, prices.value FROM rest_db JOIN prices ON rest_db.rest_id = prices.table_id WHERE prices.table_name = 'rest_db' ORDER BY rest_db.name ASC %d Limit 50;", start];
И теперь, поскольку я исправил приведение типов благодаря одному из предыдущих предложений, это не приводит к сбою программы, но не показывает данные из запроса как start = 0. Что, когда я просматриваю свой код, именно то, что должно равняться , и если бы мой оператор sqlite был настроен правильно, я бы увидел, что я помещаю его в ограничение не в том месте... -.- Таким образом, первоначальной проблемой приведения типов был сбой и, похоже, единственная проблема.