http://www.codeproject.com/Tips/226892/How-to-implement-Stack-in-Object-Cで作成されたスタックを使用しましたが、これはすべてのオブジェクトを受け入れますが、実際にはそれを使用して保存しますenum
タイプ。
私がそれに割り当てようとしたときenum
、コンパイラはそれenum
をに変換できないと言いましたid
。私は何をすべきか?
http://www.codeproject.com/Tips/226892/How-to-implement-Stack-in-Object-Cで作成されたスタックを使用しましたが、これはすべてのオブジェクトを受け入れますが、実際にはそれを使用して保存しますenum
タイプ。
私がそれに割り当てようとしたときenum
、コンパイラはそれenum
をに変換できないと言いましたid
。私は何をすべきか?
スタックにNSObjectが格納されている場合は、列挙値を整数(整数)にキャストして、NSNumberにボックス化するだけです。
スタックへの追加:
NSNumber *boxedValue = [NSNumber numberWithInteger:eMyEnumValue];
[stack push:boxedValue];
スタックからの取得:
NSNumber *boxedValue = [stack pop];
MyEnum enumValue = (MyEnum) [boxedValue integerValue];