SQL Lite BLOB (Bild) in Xcode auslesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • SQL Lite BLOB (Bild) in Xcode auslesen

    Hallo zusammen,

    Arbeite aktuell an einer kleine iPhone App mit DB. (Kochbuch)

    Auslesen von Text (Strings) aus der DB ist kein Problem.
    Wie lese ich nun aber die BLOB Daten aus ?

    meine Funktion zum auslesen sieht so aus :

    Quellcode

    1. //SQL Funktion für : Zubereitung
    2. -(NSMutableArray *) getZubereitung {
    3. NSMutableArray *Zubereitung = [[NSMutableArray alloc] init];
    4. if (sqlite3_prepare_v2(database, "SELECT Zubereitung FROM Hauptgerichte ORDER BY ID", -1, &statement, nil) == SQLITE_OK) {
    5. while (sqlite3_step(statement) == SQLITE_ROW) {
    6. NSString *message = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)];
    7. [Zubereitung addObject:message];
    8. }
    9. sqlite3_finalize(statement);
    10. }
    11. return Zubereitung;
    12. }
    Alles anzeigen


    Dies wird , wie man sieht in einem NSMutableArray gespeichert und im TableViewController so hinzugefügt :

    Quellcode

    1. cell.Zubereitung.text = [ZubereitungArray objectAtIndex:indexPath.row];



    Leider stehe ich aber gerade auf dem Schlauch um die Funktion "BLOBgerecht" zu machen.

    Bin dankbar für jede Hilfe :)
  • Quellcode

    1. //SQL Funktion für : BILD
    2. -(NSMutableArray *) getBild {
    3. NSMutableArray *Bild = [[NSMutableArray alloc] init];
    4. if (sqlite3_prepare_v2(database, "SELECT Bild FROM Hauptgerichte ORDER BY ID", -1, &statement, nil) == SQLITE_OK) {
    5. while (sqlite3_step(statement) == SQLITE_ROW) {
    6. NSData *BildDatei = [NSData dataWithBytes:sqlite3_column_blob(statement, 0) length:sqlite3_column_bytes(statement, 0)];
    7. [Bild addObject:BildDatei];
    8. }
    9. sqlite3_finalize(statement);
    10. }
    11. return Bild;
    12. }
    Alles anzeigen


    Ich habe das ganze nun angepasst , jedoch versteh ich nicht wie ich dann das Bild-Objekt an meine CellImage weitergebe. ?(


    cell.thubnailImageView.image = [BildArray objectAtIndex:indexPath.row]; habe ich immer dafür genutzt.
  • NOCHMAL: variablennamen beginnen mit kleinbuchstaben!!!

    du hast hier eine NSData, daraus musst du erst das NSImage oder CGImage oder was auch immer machen. ist aber auch nur ein einzeiler!

    edit: auch der methoden-name ist falsch:
    1. bekommst du ein array also sind es bilder und nicht bild (mehrzahl)
    2. hat da das "get" nix verloren.
    3. sollte man englisch und nicht deutsch verwenden
  • Das NSImage ist doch nicht für iPhone Apps nutzbar ?

    So funktionierts bei mir :

    Quellcode

    1. UIImage *img = [[UIImage alloc] initWithData:[BildArray objectAtIndex:indexPath.row]];
    2. cell.thubnailImageView.image = img;



    @gritsch

    Kann deine Verärgerung über das Deutsch/Englisch und Großschreibung verstehen , komme halt aus einem anderen Bereich und da Definiere ich Variablen auch ganz anders :)
  • TianBao schrieb:

    Das NSImage ist doch nicht für iPhone Apps nutzbar ?
    Kann deine Verärgerung über das Deutsch/Englisch und Großschreibung verstehen , komme halt aus einem anderen Bereich und da Definiere ich Variablen auch ganz anders :)


    es ist egal woher du kommst, und wie es dort praxis ist.
    du solltest es trotzdem korrekt machen.

    edit: vor allem wenn du auf fremde hilfe angewießen bist die sowas anwidert! (erschwert extrem das lesen des code)