2011-06-08 60 views
0

我試圖返回從數據庫中,但應用程序停止加載一個Person對象和我沒有得到任何錯誤消息我只得到Thread 1: Stopped at breakpoint 3這是我的課:問題,從客觀的方法返回對象C

+ (Person *)searchPersonByName:(NSString *)personName 
{ 
    // Set up sqlite statement 
    sqlite3_stmt *db_stmt = nil; 

    NSString *sqlQuery = [NSString stringWithFormat:@"SELECT name, id FROM person WHERE name LIKE '%%%@%%'",personName]; 

    //Convert the sqlQuery string to char 
    const char *sqlQueryConverted =[sqlQuery UTF8String]; 

    int prepareSqlQuery = sqlite3_prepare_v2([[DatabaseManager sharedDatabaseManager] getDb], sqlQueryConverted, -1, &dbStatement, NULL); 

    Person *person = [Person alloc]; 
    //Run the query 
    while (sqlite3_step(db_stmt) == SQLITE_ROW) 
    {  
     const char *name = (const char *)sqlite3_column_text(db_stmt, 0); 
     int personId = sqlite3_column_int(db_stmt, 1); 

     //Convert the returnedElement char to string 
     NSString *nameString = [[[NSString alloc] initWithUTF8String:name] autorelease]; 

     [person initWithName:nameString _id:personId]; 
    } 
     return person; 
} 

我得到錯誤(程序停止)在這一行:[person initWithName:nameString _id:personId];並且沒有堆棧跟蹤。

我想我不完全理解客觀c的工作原理。幾周前我開始用這種語言開發。

在此先感謝。

回答

2

斷點是您設置停止執行,以便您可以通過線通過代碼行步,看看發生了什麼代碼標記。這不是一個錯誤....只是刪除斷點(由行左邊的一個小藍色標記表示...向右拖動直到它消失)。

+0

這真的很尷尬。謝謝,我也是Xcode的新手。 – madcoderz 2011-06-08 12:42:27

+0

不用擔心。 :) 祝你好運! – 2011-06-08 12:49:33

+0

@Simon Lee,+1,OMG !!!!!! – EmptyStack 2011-06-08 12:53:47

1

你有你的斷點上

enter image description here

關閉它打開通過點擊它。

enter image description here

它應該是這樣的

+0

刪除單個斷點優於禁用所有斷點。 – 2011-06-08 12:36:18

+0

是的,但他不知道斷點停止在哪裏 – Robin 2011-06-08 12:37:43

+0

它將顯示何時停止的行.... Xcode自動進入斷點...... – 2011-06-08 12:38:32