enumと文字列を、enum -> NSString、 NSString -> enumと相互にキャストする汎用な方法を調べたときのメモです。 1. NSArrayのExtensionとしてキャストするメソッドを用意します。 // // NSArray+EnumExtensions.h // #import <Foundation/Foundation.h> @interface NSArray (EnumExtensions) /** * enum to string * @param value enum value * @return NSString string value */ - (NSString *)stringFromEnum:(NSInteger)value; /** * string to enum * @param value string value * @re
![Objective-Cでenumに対応した文字列を定義し、キャストする - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c157ba7f29e99e75c068c07dc8bf7ea312768840/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9T2JqZWN0aXZlLUMlRTMlODElQTdlbnVtJUUzJTgxJUFCJUU1JUFGJUJFJUU1JUJGJTlDJUUzJTgxJTk3JUUzJTgxJTlGJUU2JTk2JTg3JUU1JUFEJTk3JUU1JTg4JTk3JUUzJTgyJTkyJUU1JUFFJTlBJUU3JUJFJUE5JUUzJTgxJTk3JUUzJTgwJTgxJUUzJTgyJUFEJUUzJTgzJUEzJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lZmMxNDI3NmUwM2I3YzZhMWNhZTZhNmQxMWUwODhhNA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwZGFycXVybyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MjA2ODY3ODMyNzU5NmU0MzliZDM3MWUyM2RhNjY5ODY%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dc3f1d5786362fc90c43e2a9f52c3e5bb)