0

カタログ ID を表す int 変数があります。変数は、次のようにブロックの外で宣言されます。

int catalogId = [vegetableService getCurrentCatalogNumber];

ブロック内では、次のようなことを行います。

 int serverCatalogId = (int) [obj valueForKey:@"CatalogId"];

                if(catalogId < serverCatalogId)
                {   
                    catalogId = serverCatalogId;
                }

これはもちろん、変数は __block 型でなければならないというエラーになります。そこで、次のようにカタログ ID を宣言しました。

__block int catalogId = [self getCurrentCatalogNumber];

しかし、今では 1,2,3 ではなく 196758 のような奇妙な値が得られます。

4

1 に答える 1