0

私は NSMutableArray を持っていて、[appDelegate.array addObject:Obj];呼び出したときのようにオブジェクトをそれに割り当てています。コンソールでNSLog(@"appdelegate.array %@ ", [appdelegate.array description]) ;このようになっています

(
    "<Item: 0x6c8b650; frame = (0 0; 0 0); transform = [0, 0, 0, 0, 0, 0]; alpha = 0; opaque = NO; layer = (null)>",
    "<Item: 0x6b825c0; frame = (0 0; 0 0); transform = [0, 0, 0, 0, 0, 0]; alpha = 0; opaque = NO; layer = (null)>",
    "<Item: 0x6b82ad0; frame = (0 0; 0 0); transform = [0, 0, 0, 0, 0, 0]; alpha = 0; opaque = NO; layer = (null)>"
)

オブジェクトを追加するためにフォーマットを修正することを提案できますか?また、配列に含まれる理由はframe = (0 0; 0 0); transform = [0, 0, 0, 0, 0, 0]; alpha = 0; opaque = NO; layer = (null)??

+ (void) getInitialCurrencyToDisplay:(NSString *)dbPath{


    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

    if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) {

        const char *sql = "select  c_name,C_Id from Currency";
        sqlite3_stmt *selectstmt;
        if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {

            while(sqlite3_step(selectstmt) == SQLITE_ROW) {
                NSInteger primaryKey = sqlite3_column_int(selectstmt, 1);

                Currency *Obj = [[Currency alloc]initWithPrimaryKey:primaryKey];
                Obj.C_Name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 0)];
                Obj.address=[NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)];

                NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                NSString *documentsDir = [documentPaths objectAtIndex:0];
                NSLog(@"%@", documentsDir);
                NSString *pngFilePath = [NSString stringWithFormat:@"%@/%@.png",documentsDir, Obj.C_Name];

                Obj.C_Image = [[UIImage alloc] initWithContentsOfFile:pngFilePath];


           Obj.isDirty = NO;
                [appDelegate.array addObject:Obj];

            }
        }

上記のコードを使用してデータベースからデータを取得しました 事前に感謝します

4

2 に答える 2

2

クラスの親クラスを確認してくださいCurrency。親クラスは、NSObjectand notUIViewまたは similar である必要があります。


また、 Objective-C の命名規則をご覧ください。クラスのみ大文字で始める必要があります。

于 2012-10-19T18:01:43.100 に答える
0

それの外見によって、あなたはいくつかの空のビューか何かを追加します。「Obj」を追加しているので、それがどのタイプのオブジェクトであるかを知らないでください。あなたも何をしようとしていますか?

于 2012-10-19T17:08:44.710 に答える