小编Jus*_*tin的帖子

在选择时为UITableViewCell高度设置动画

可能重复:
您可以选择UITableViewCell上的高度更改动画吗?

我一直在做很多谷歌搜索,试图弄清楚这样做的正确方法,到目前为止,我不知所措.

我已经使用我自己的视图对UITableViewCell进行了子类化,并且我试图设置UITableViewCell的高度,以便在选中时进行扩展,并在再次选择时进行收缩.这个表有可能包含数千行,所以我不想覆盖tableView的heightForRowAtIndexPath.理想情况下,我希望能够一次扩展多个单元格,但这并不是那么重要.做这个的最好方式是什么?

谢谢你,贾斯汀

iphone objective-c uitableview

5
推荐指数
1
解决办法
2646
查看次数

sqlite并发问题

我正在使用一个使用sqlite数据库的iPhone应用程序.该应用程序在后台线程中使用主线程中的UI下载Internet数据.后台下载线程可以在数据库上执行INSERT,UPDATE和SELECT.UI层还可以通过执行UPDATE和SELECT与数据库交互.如果我在后台线程下载时没有与UI进行大量交互,一切正常.但是,当在下载过程中执行主(UI)线程上的大量UPDATE时,我开始遇到问题.

应用程序在尝试运行数据库功能时始终退出.它退出EXC_BAD_ACCESS,我没有看到任何错误.例如,它最后一次退出时以sqlite3_step结束:

    sqlite3_stmt *statement;
const char *query = "INSERT OR IGNORE INTO `names` (`id`,`name`) VALUES (?,?);";
if(sqlite3_prepare_v2(database, query, -1, &statement, NULL) != SQLITE_OK){
    NSAssert1(0, @"Error while creating insert statement. '%s'", sqlite3_errmsg(database));
    return NO;
}
sqlite3_bind_int(statement, 1, id);
sqlite3_bind_text(statement, 2, name, -1, SQLITE_TRANSIENT);

if(sqlite3_step(statement) != SQLITE_DONE)
    NSAssert1(0, @"Error while inserting. '%s'", sqlite3_errmsg(database));

sqlite3_finalize(statement);
Run Code Online (Sandbox Code Playgroud)

它并不总是退出sqlite3_step,有时会退出sqlite3_prepare_v2或sqlite3_exec.我已经尝试将这些语句放在循环中,如果它没有返回OK,请再试一次,但这也不起作用:

int returnCode = 0;
do{
    returnCode = sqlite3_step(statement);
    if(returnCode != SQLITE_DONE){
        usleep(20);
    }
}while(returnCode != SQLITE_DONE);
Run Code Online (Sandbox Code Playgroud)

我也尝试过SQL事务,但这没有任何区别.我怎么解决这个问题?它似乎是一个相当基本的并发问题,但我没有看到任何适合我的东西.

谢谢你的帮助,贾斯汀

sql sqlite iphone objective-c

5
推荐指数
1
解决办法
4354
查看次数

'function' 之前的预期特定限定符列表和 'function' 之前的预期 '=', ',', ';', 'asm' 或 '__attribute__'

我正在使用 Objective-C 进行编程,但我想编写 ac 函数来提高性能。我在这篇文章下面写了代码,但编译不断返回以下错误:

错误:'bool' 之前的预期特定限定符列表

错误:在“addToBoolArray”之前应为“=”、“、”、“;”、“asm”或“属性

结构体.h:

typedef struct boolArray{
bool *array;
int count;
} boolArray;

bool addToBoolArray(boolArray *bArray, bool newBool)
Run Code Online (Sandbox Code Playgroud)

结构体.c:

#import "structs.h"

bool addToBoolArray(boolArray *bArray, bool newBool)
{
if(bArray->count > 0){
    bArray->array = realloc(bArray->array,(bArray->count+1)*sizeof(bool));
else{
    bArray->array = (bool *)malloc(sizeof(bool));
}

if(bArray->array == NULL)
    return false;

bArray->array[bArray->count] = newBool;
bArray->count++;

return true;
}
Run Code Online (Sandbox Code Playgroud)

我找到了很多关于这个错误的论坛帖子,但似乎没有一个能解决我的问题。有任何想法吗?

谢谢

c xcode objective-c

0
推荐指数
1
解决办法
6400
查看次数

标签 统计

objective-c ×3

iphone ×2

c ×1

sql ×1

sqlite ×1

uitableview ×1

xcode ×1