Appleが提供するMySQL用のObjective-CAPIはありません。ただし、CAPIにはサードパーティのラッパーがいくつかあります。 MySQL-CocoaFramework<をご覧ください。 / a> 、たとえば。
PHPとCAPIに精通していることを考えると、CAPIを使用する方が簡単な場合があります。オブジェクトとCデータ型の間の変換を処理する必要がありますが、これはそれほど手間がかかりません。
編集
mysql APIによって返される行の値がオブジェクトではなく、フォーマット文字列がNSLog
を示しているため、クラッシュしています。 それを一つとして扱うために。 %@
Cデータ型ではなく、オブジェクトのフォーマット文字列プレースホルダーです。
この場合の値は明確ではありません。コンテキストは、それが画像データであることを暗示しているようです。その場合は、NSData
を作成することをお勧めします。 クエリによって返されたblobのオブジェクト(例:
NSData *imageData;
imageData = [[ NSData alloc ] initWithBytes: row[ i ] length: lengths[ i ]];
NSLog( @"imageData: %@", imageData );
/* ...create NSImage, CGImage, etc... */
[ imageData release ];
結果フィールドが単なる文字列の場合は、NSString
を使用します の-initWithBytes:length:encoding:
方法:
NSString *s;
s = [[ NSString alloc ] initWithBytes: row[ i ] length: lengths[ i ]
encoding: NSUTF8StringEncoding ];
NSLog( @"result column %d: %@", i, s );
[ s release ];