objective-c – 枚举自定义:是否可以创建subEnum?

objective-c – 枚举自定义:是否可以创建subEnum?,第1张

概述所以,这是代码: typedef enum{ zero, one, two, three, four, five, six, seven, eight, nine}Digits;typedef enum{ zero, one, two, nine }DigitsThatILikeToUse; 问题:     如果我定义功能: void takeMyFavoriteDigit 所以,这是代码: @H_404_7@

@H_404_7@

typedef enum{    zero,one,two,three,four,five,six,seven,eight,nine}Digits;typedef enum{    zero,nine }DigitsThatIliketoUse;
@H_404_7@问题:
    如果我定义功能:

@H_404_7@

voID takeMyFavoriteDigits(DigitsThatIliketoUse favorite); (C)-|+(voID) takeMyFavoriteDigits:(DigitsThatIliketoUse)favorite; (Objective-C)
@H_404_7@我不能将它用于对基本枚举数字的反向引用,因为我在枚举DigitsThatIliketoUse中的顺序是不同的.

@H_404_7@我的解决方案是写出这样的数字的明确位置:

@H_404_7@

typedef enum{    zero = 0,one = 1,two = 2,nine = 9 }DigitsThatIliketoUseInEdition;
@H_404_7@但!我不能遍历这个新的枚举DigitsThatIliketoUseInEdition.

@H_404_7@我想在枚举中创建一个subEnum并迭代它.可能吗?

@H_404_7@我最好的想法是使用这样的东西:

@H_404_7@

typedef enum{        beginIteratorDigitsThatIlike,zero,nine,endIteratorDigitsThatIlike,eight    }Digits;
@H_404_7@但也许有任何解决方案?

解决方法 (大多数情况下)没有通过添加更多级别的间接无法解决的问题: @H_404_7@

@H_404_7@

typedef enum enumDigits {  digitsNone = -1,digitsZero,digitsOne,digitsTwo,digitsThree,digitsFour,digitsFive,digitsSix,digitsSeven,digitsEight,digitsNine,digitsMax} Digits_t;typedef enum enumDigitsIndexIDliketoUse {  digitsIndexIDliketoUseNone = -1,digitsIndexIDliketoUseZero,digitsIndexIDliketoUSEOne,digitsIndexIDliketoUseTwo,digitsIndexIDliketoUseThree,digitsIndexIDliketoUseFour,digitsIndexIDliketoUseMax} DigitsIndexIDliketoUse_t;const Digits_t digitsIDliketoUse[digitsIndexIDliketoUseMax] = {  digitsZero,digitsNine}
@H_404_7@假设你想使用至少1个dIDigt,你可以这样做:

@H_404_7@

Digits_t digitIDliketoUse = digitNone;...for (DigitsIndexIDliketoUse_t digitIndexIDliketoUse = digitsIndexIDliketoUseZero,digit = digitsIDliketoUse[digitIndexIDliketoUse];  digitsIndexIDliketoUse < digitsIndexIDliketoUseMax;  ++ digitsIndexIDliketoUse){  <do something with digitIDliketoUse>}
总结

以上是内存溢出为你收集整理的objective-c – 枚举自定义:是否可以创建subEnum?全部内容,希望文章能够帮你解决objective-c – 枚举自定义:是否可以创建subEnum?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1226268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存