Как определить функцию - PullRequest
0 голосов
/ 14 апреля 2009

Я хочу определить следующую функцию:

    if(stmtToFinalize) {
        NSLog(@"Finalizing statement stmtToFinalize");
        if (sqlite3_finalize(stmtToFinalize) !=SQLITE_OK)
            NSLog(@"An error occured while trying to finalize a statement stmtToFinalize: '%s'", sqlite3_errmsg(database));
        stmtToFinalize = NULL;
    }

Но я не знаком с директивой #define. Я хочу вместо stmtToFinalize иметь любой оператор типа sqlite3_stmt.

Как я могу это реализовать?

Спасибо.

1 Ответ

2 голосов
/ 14 апреля 2009

Синтаксис для #define не является специфичным для Objective-C.

#define MY_FUNCTION(x) do { \
    if( (x) ) { \
        NSLog(@"Finalizing statement stmtToFinalize"); \
        if (sqlite3_finalize( (x) ) !=SQLITE_OK) \
                NSLog(@"An error occured while trying to finalize a statement stmtToFinalize: '%s'", sqlite3_errmsg(database)); \
        (x) = NULL; \
    } } while (0)

Текст в строке формата NSLog () не был изменен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...