Куда идет реализация «метода»? (Я новичок) - PullRequest
0 голосов
/ 08 марта 2011

У меня есть этот код:

#import "SQLiteDB.h"

@implementation SQLiteDB

@synthesize db, dbPath, databaseKey;

@end



//--------------    check for database or create it    ----------------|

- (void)checkForDatabase  {

    NSFileManager *filemanager = [NSFileManager defaultManager];
    NSString *databasePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] 
                              stringByAppendingString:@"/ppcipher.s3db"];

    if(![filemanager fileExistsAtPath:databasePath]) {  //Database doesn't exist yet, so we create it...
        NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/ppcipher.s3db"];

        sqlite3 *db;
        if(sqlite3_open(databasePath, db) == SQLITE_OK)  {

        }

    }
}

Жалуется, что «определение метода не в контексте @implementation». Так, куда это идет? (Я пытался в .h файле, но все равно получаю ошибку)

Ответы [ 2 ]

3 голосов
/ 08 марта 2011

Реализация метода должна происходить между @implementation и @end.То есть:

#import "SQLiteDB.h"

@implementation SQLiteDB

@synthesize db, dbPath, databaseKey;

-(void) checkForDatabase {

    ...

}

@end
1 голос
/ 08 марта 2011

должно быть внутри блока @implementation

#import "SQLiteDB.h"

@implementation SQLiteDB

@synthesize db, dbPath, databaseKey;



//--------------    check for database or create it    ----------------|

- (void)checkForDatabase  {

    NSFileManager *filemanager = [NSFileManager defaultManager];
    NSString *databasePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] 
                              stringByAppendingString:@"/ppcipher.s3db"];

    if(![filemanager fileExistsAtPath:databasePath]) {  //Database doesn't exist yet, so we create it...
        NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/ppcipher.s3db"];

        sqlite3 *db;
        if(sqlite3_open(databasePath, db) == SQLITE_OK)  {

        }

    }
}

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