Could you elaborate on the persistence aspect…as this is what I will be needing. Thanks
> On Jul 17, 2015, at 2:04 PM, iseecolors <iseecol...@rsqrdc.us> wrote: > > As long as you only need one customer defined enum and it is not expected to > persist, than this will work. > >> On Jul 17, 2015, at 1:57 PM, Stephen J. Butler <stephen.but...@gmail.com> >> wrote: >> >> Or what about this? Tested this time... >> >> enum Foo { >> case Bar >> case Etc >> case Etc_Etc >> case Custom(String) >> >> func asString() -> String { >> switch self { >> case .Bar: return "Bar" >> case .Etc: return "Etc" >> case .Etc_Etc: return "Etc Etc" >> case .Custom(let value): return value >> } >> } >> >> init(withString value: String) { >> switch value { >> case "Bar": self = .Bar >> case "Etc": self = .Etc >> case "Etc Etc": self = .Etc_Etc >> default: >> self = .Custom(value) >> } >> >> } >> } >> >> let a = Foo(withString: "Bar") >> let b = Foo(withString: "Something Else") >> >> print("a = \(a.asString()); b = \(b.asString())") >> >> I guess more typing, and some room for error in the initializer, but it >> does do away with the wrapper class. >> >> On Fri, Jul 17, 2015 at 3:39 PM, Quincey Morris < >> quinceymor...@rivergatesoftware.com> wrote: >> >>> On Jul 17, 2015, at 13:33 , Stephen J. Butler <stephen.but...@gmail.com> >>> wrote: >>> >>> >>> How about using a Custom option with an associated String value? >>> >>> enum Foo:String { >>> >>> case Bar = “Bar" >>> case Etc = “Etc" >>> case Etc_Etc = “Etc Etc" >>> case Custom(String) >>> } >>> >>> >>> Unfortunately that won’t compile. One alternative is: >>> >>> enum Foo: String { >>> case Bar = "Bar" >>> case Etc = "Etc" >>> case Etc_Etc = "Etc Etc" >>> } >>> >>> enum FooPlus { >>> case AFoo (Foo) >>> case AString (String) >>> >>> var asString: String { >>> switch self >>> { >>> case let .AFoo (foo): return foo.rawValue >>> case let.AString (string): return string >>> } >>> } >>> } >>> >>> >>> >>> >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/iseecolors%40rsqrdc.us >> >> This email sent to iseecol...@rsqrdc.us > > > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/mdeh%40comcast.net > > This email sent to m...@comcast.net _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com