Nie ma interfejsu API Objective-C dostarczanego przez Apple dla MySQL. Istnieje jednak kilka zewnętrznych opakowań interfejsu API C. Spójrz na MySQL-Cocoa Framework na przykład.
Biorąc pod uwagę znajomość PHP i C API, prostsze może być po prostu użycie C API. Będziesz musiał obsłużyć konwersję między obiektami i typami danych C, ale to nie jest dużo pracy.
Edytuj
Występuje awaria, ponieważ wartość wiersza zwrócona przez mysql API nie jest obiektem, a ciąg formatu mówi NSLog
traktować to jako jedno. %@
jest symbolem zastępczym ciągu formatu dla obiektu, a nie typu danych C.
Nie jest jasne, jaka jest wartość w tym przypadku. Kontekst wydaje się sugerować, że to dane obrazu. W takim przypadku prawdopodobnie zechcesz utworzyć NSData
obiekt z obiektu blob zwróconego przez zapytanie, np.:
NSData *imageData;
imageData = [[ NSData alloc ] initWithBytes: row[ i ] length: lengths[ i ]];
NSLog( @"imageData: %@", imageData );
/* ...create NSImage, CGImage, etc... */
[ imageData release ];
Jeśli pola wyników są tylko ciągami, użyj NSString
-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 ];