Use this one weird trick
Swift has a variety of little documented (or undocumented) attributes just sitting there waiting to be used. Let's look at a few of them:
This attribute gives the compiler inlining hints. The valid values are
never. I don't think I'd use this one (especially
__always) unless I was absolutely certain I needed . . .
I just wanted to add my name to the list.
At home, I can almost never successfully make AirDrop work between my iOS devices and Mac, or between my wife's Mac and mine. It is so unreliable that I . . .
My Personal Hell
If you find yourself suffering from the message
A signed resource has been added, modified, or deleted every time you attempt to run your app on-device I hope I can save you some trouble.
This tends to happen to projects with extensions and the culprit appears to be CocoaPods. Somehow frameworks relevant to the main app were being copied to . . .
There is no escape
Update: This has been fixed!
Just in case others run into this issue, I wanted to document it here.
@noescape causes some curious behavior when nesting closures. It appears to cause a captured mutable local to become a separate copy, meaning changes that should be visible in one sibling closure aren't visible to the other.
import Cocoa . . .
Some overlooked goodies
Apple has delivered on their promise to be, well, swift with Swift. Version 1.2 has been released and includes a number of updates and syntax changes.
Some are less welcome, like requiring parameter names for closures in methods with optional parameters. Others are great additions like
Set or the ability for value-returning closures to . . .
Some Handy Utilities
Just a quick post today. Here are some UIKit bits that should have always existed but after 8 years are still absent:
setHidden:animated:- Absolutely inexcusable that we still have basic
UIViewproperties that can't be animated
setEnabled:animated:- Ditto for
setEnabled:animated:- For some inexplicable reason, . . .
Closures for fun and profit
This is the first in a series of short posts addressing easy things you might not know about. I'm going to try interleaving these thing the long-form major effort-posts.
Many people don't know that you can explicitly specify capture lists for closures in Swift.
A closure closes over values from the local environment, . . .