Optionals are really interesting. In theory it's a really smart concept. In practice it seems to add a bit of complexity. Will be interesting to see if the concept pays off in the long term.
I'm intrigued by optionals, but I feel like returning nil for objects in ObjC - a pattern I've always used - is kind of the same thing in a different like. Do you have experience with returning nil instead of objects? How does that compare to optionals?
Yes, i did use that same pattern. And if you want to, you can kind of force Swift to do this (String! is an "unwrapped optional" and can be nil or have a value) but it feels unnatural. You definitely have to design a bit differently than ObjC. Luckily Swift's enums are amazing and you can return multiple values (through tuples), so there are great ways to return different types of values.