从方法目标c返回对象的问题

时间:2011-06-08 12:30:21

标签: objective-c

我正在尝试返回从数据库加载的Person对象但应用程序停止并且我没有收到任何错误消息我只得到Thread 1: Stopped at breakpoint 3这是我的班级:

+ (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 :(得分:2)

断点是您设置为停止执行的代码中的标记,因此您可以逐行浏览代码以查看发生的情况。这不是错误....只需删除断点(由行左侧的一个小蓝色标记指示...向右拖动直到它消失)。

答案 1 :(得分:1)

您已打开断点

enter image description here

点击它关闭它。

enter image description here

看起来应该是这样的