【问题标题】:"Dead Store" warning XCode“死店”警告 XCode
【发布时间】:2014-03-19 10:42:26
【问题描述】:

当我分析我的项目但项目没有崩溃时,我收到了一个死店警告。
“在初始化期间存储到‘行’的值永远不会被读取”。 这是我正在做的事情:

long row = [self.tableView indexPathForSelectedRow].row; // there is dead store warning
if (sqlite3_open(dbpath, &_pdd_ab_stat) == SQLITE_OK) {
    for (row = 0; row < 40; row ++) {
        NSString *querySQL = [NSString stringWithFormat:@"SELECT Max(rightCount) from paper_ab_stat WHERE biletNumber = \"%ld\"", row + 1];
        const char *query_stmt = [querySQL UTF8String];
        if (sqlite3_prepare_v2(_pdd_ab_stat, query_stmt, -1, &statement, NULL) == SQLITE_OK) {
            if (sqlite3_step(statement) == SQLITE_ROW) {
                NSNumber *arrayelement = [NSNumber numberWithInt:sqlite3_column_int(statement, 0)];
                [_biletRecords addObject:arrayelement];
            }
        }
        sqlite3_finalize(statement);
    }
}
sqlite3_close(_pdd_ab_stat);

return _biletRecords;

我该如何解决?

【问题讨论】:

    标签: ios xcode warnings


    【解决方案1】:

    这是因为在 for 循环中将其重新分配给 0 之前,您没有使用该值:

    long row = [self.tableView indexPathForSelectedRow].row;
    if (sqlite3_open(dbpath, &_pdd_ab_stat) == SQLITE_OK) {
        for (row = 0; row < 40; row ++) {   // Reassigned!
    

    修复:

    long row;
    if (sqlite3_open(dbpath, &_pdd_ab_stat) == SQLITE_OK) {
        for (row = 0; row < 40; row ++) {
    

    (虽然这看起来很糟糕;您可能想在for 循环中使用不同的变量)。

    【讨论】:

    • 谢谢,修复了删除第一行和编辑循环为 (long row = 0; row
    猜你喜欢
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2017-03-31
    • 2021-11-20
    • 1970-01-01
    相关资源
    最近更新 更多