これらの2つの機能を使用しているコントローラービューがあります:
[appDelegate getFichesInfo:[[self.fichesCategory idModuleFiche] intValue] ]; //first function
self.fiche = (Fiche *)[appDelegate.fichesInfo objectAtIndex:0];
[appDelegate getFichesVisuels:[[self.fiche idFiche] intValue] ]; //second function not working
self.fiche = (Fiche *)[appDelegate.fichesInfo objectAtIndex:0];
したがって、私の ressourceManager では、2 番目の関数の詳細を次に示します。
- (void)getFichesVisuels:(int)value {
fichesVisuels = [[NSMutableArray alloc] init];
sqlite3 *database;
if(sqlite3_open([self.databasePath UTF8String], &database) == SQLITE_OK) {
sqlite3_reset(getFichesVisuelsStatement);
sqlite3_bind_int(getFichesVisuelsStatement, 1, value);
while(sqlite3_step(getFichesVisuelsStatement) == SQLITE_ROW) {
NSString *aTitle = [NSString stringWithUTF8String:(char *)sqlite3_column_text(getFichesVisuelsStatement , 7)];
NSString *aLpath = [NSString stringWithUTF8String:(char *)sqlite3_column_text(getFichesVisuelsStatement , 8)];
Visuel *visuel = [[Visuel alloc] initWithName:aTitle lpath:aLpath];
[fichesVisuels addObject:visuel];
}
}
sqlite3_close(database);
}
問題は、2 番目の関数が機能していないことです (ライブラリ ルーチンが順不同で呼び出されます)。これは、1 番目の関数を同じ方法で既に呼び出しているためです (引数を使用して多くのクエリを同時に実行できるようにしたい)。NSInvocation を使用するとこの問題を解決できると聞きましたが、NSInvocation を使用してコードを変換する方法がわかりません。誰かが私を助けることができますか?
よろしくお願いします、