> On Dec 10, 2015, at 7:26 AM, Harlan Haskins via swift-users 
> <[email protected]> wrote:
> 
> IIRC this isn’t possible because there’s no Runtime to query for classnames 
> (it’s inherently unsafe anyway).

It’s not unsafe if you specify a base class/protocol that the loaded class must 
conform to.

> You might want to look into a better way of doing that you’re trying to do.

I disagree with “a better way” — “a workaround” is how I’d rephrase it. This 
kind of dynamism is often the best tool for the job, and a lot of Cocoa 
developers are frustrated by its absence in Swift. For example, there’s a 
series of blog posts from earlier this year by the highly respected Brent 
Simmons [NetNewsWire, MarsEdit, Glassboard, etc., currently at Omni]:
        http://inessential.com/swiftdiary
        http://inessential.com/2015/07/20/swift_diary_1_class_or_struct_from_str

The workaround I’d suggest is a factory function that contains a switch 
statement that matches class names and returns newly initialized instances.

—Jens
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to