gpt4 book ai didi

objective-c - 从 NSDictionary 创建枚举

转载 作者:行者123 更新时间:2023-11-28 22:55:39 25 4
gpt4 key购买 nike

假设我有一个枚举如下:

typedef enum {
FooGoods = 0,
FooInsurance = 1,
} FooCategory;

我把它作为另一个对象中的属性和ivar

@property (nonatomic) FooCategory *category;

当我创建另一个对象时,我填充了 NSDictionary 中的值,所以我做这样的事情:

[baz setCategory:[aDictionary objectForKey:@"Category"]];

但是因为我的枚举不是指针,所以我得到了一个错误。

这样做也会得到警告,“Incompatible integer to pointer conversion”:

[baz setCategory:[[aDictionary objectForKey:@"Category"] intValue]];

还有其他没有错误/警告的方式吗?

最佳答案

下列说法不正确

@property (nonatomic) FooCategory *category;

应该改为

@property (nonatomic) FooCategory category;

现在这应该可以在没有警告的情况下工作

baz.category = (FooCategory)[aDictionary objectForKey:@"Category"] intValue];

关于objective-c - 从 NSDictionary 创建枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858149/

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