问题,从客观的方法返回对象C

问题描述:

我试图返回从数据库中,但应用程序停止加载一个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的工作原理。几周前我开始用这种语言开发。

在此先感谢。

断点是您设置停止执行,以便您可以通过线通过代码行步,看看发生了什么代码标记。这不是一个错误....只是删除断点(由行左边的一个小蓝色标记表示...向右拖动直到它消失)。

+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

你有你的断点上

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