gpt4 book ai didi

ios - 我可以从 NSDictionary valueForKey 中转换原语吗?

转载 作者:行者123 更新时间:2023-11-29 04:21:01 26 4
gpt4 key购买 nike

我有一个代表catalogid的int变量。该变量在 block 外部声明,如下所示:

int catalogId = [vegetableService getCurrentCatalogNumber];

在 block 内我做了这样的事情:

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

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

这当然会导致错误,指出该变量必须是 __block 类型。所以我这样声明catalogid:

__block int catalogId = [self getCurrentCatalogNumber];

但现在我得到了奇怪的值,例如 196758 而不是 1,2,3。

最佳答案

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

这是将指针强制转换为 int。因此疯狂的值(value)观。基元不能存储在 Objective C 集合中。如果系统中的其他地方有这个,请查看 NSNumber 并使用其类型转换方法 intValue 从 NSDictionary 中提取 NSNumber。

关于ios - 我可以从 NSDictionary valueForKey 中转换原语吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com