我有一个代表catalogid 的int 变量。该变量在块外声明,如下所示:
int catalogId = [vegetableService getCurrentCatalogNumber];
在块内我做这样的事情:
int serverCatalogId = (int) [obj valueForKey:@"CatalogId"];
if(catalogId < serverCatalogId)
{
catalogId = serverCatalogId;
}
这当然会导致一个错误,指出变量必须是 __block 类型。所以我这样声明了catalogid:
__block int catalogId = [self getCurrentCatalogNumber];
但现在我得到了奇怪的值,比如 196758 而不是 1、2、3。