2012-10-19 69 views
0

我有一個NSMutableArray的,我喜歡[appDelegate.array addObject:Obj];分配對象,就當我打電話NSLog(@"appdelegate.array %@ ", [appdelegate.array description]) ;我越來越喜歡這個在CONSOLNSMutableArray中包含一些未知數據

(
    "<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]; 

      } 
     } 

我上面的代碼用來從數據庫中獲取數據 由於提前

+1

我的猜測:貨幣是'UIView'的一個子類而不是'NSObject' –

+0

當你NSLog一個NSArray的時候,它所做的就是輸出開始和結束的'()'字符,並在中間調用'description '爲陣列中的每個對象。所以你的數組中有一些產生'description'輸出的對象(大概是因爲它們是UIView的子類)。你總是可以重寫'description'來在你定義的類中輸出(幾乎)任何你想要的內容。 –

+0

@Matthias Bauch suprub感謝兄弟它解決了我的問題實際上我在5小時內遇到了很多問題 –

回答

2

檢查Currency類的父類。父級應該是NSObject而不是UIView或類似。


請看看Objective-C naming conventions。只有課程應該以大寫字母開頭。

+0

謝謝,我會記住這一點:) –

0

通過它的外觀你加入一些空的觀點或東西。既然你添加了「Obj」,你不應該知道它是什麼類型的對象嗎?你甚至想要做什麼?

+0

我想從DataBase中加載一些內容,我將它們保存在Object中,然後將它分配給數組,我想要數組值顯示在UITableview –

+0

好吧...那麼你又是從數據庫加載什麼?的NSString的?你在使用什麼類型的數據庫?如果你可以發佈更多的代碼,也許我可以幫你。 –