Neexistuje žádné Objective-C API pro MySQL dodávané společností Apple. Existuje však několik obalů třetích stran rozhraní C API. Podívejte se na MySQL-Cocoa Framework , například.
Vzhledem k tomu, že znáte PHP a C API, může být pro vás jednodušší jednoduše používat C API. Budete muset zvládnout převod mezi objekty a datovými typy C, ale to není moc práce.
Upravit
Dochází k selhání, protože hodnota řádku vrácená rozhraním mysql API není objekt a váš formátovací řetězec říká NSLog
zacházet s tím jako s jedním. %@
je zástupný symbol formátovacího řetězce pro objekt, nikoli datový typ C.
Není jasné, jaká je v tomto případě hodnota. Zdá se, že kontext naznačuje, že jde o obrazová data. Pokud je to váš případ, pravděpodobně budete chtít vytvořit NSData
objekt z objektu blob vráceného dotazem, např.:
NSData *imageData;
imageData = [[ NSData alloc ] initWithBytes: row[ i ] length: lengths[ i ]];
NSLog( @"imageData: %@", imageData );
/* ...create NSImage, CGImage, etc... */
[ imageData release ];
Pokud jsou vaše výsledková pole pouze řetězce, použijte NSString
's -initWithBytes:length:encoding:
metoda:
NSString *s;
s = [[ NSString alloc ] initWithBytes: row[ i ] length: lengths[ i ]
encoding: NSUTF8StringEncoding ];
NSLog( @"result column %d: %@", i, s );
[ s release ];