Matt Mathias:
Things are different with Swift 3.0. The !
in init!
indicates that the initialization process can fail, and if it doesn’t, that the resulting instance may be forced (i.e., implicitly unwrapped). Unlike in Swift 2.x, instances resulting from init!
are Optional
s and not ImplicitlyUnwrappedOptional
s. That means you will have to employ optional binding or chaining to access the underlying value.
[…]
We never explicitly declared that nilPerson
should be an ImplicitlyUnwrappedOptional
. And it’s not great that the compiler inferred unsafe type information.
Swift 3.0 solves this problem by treating ImplicitlyUnwrappedOptional
s as Optional
unless we explicitly declare that we want an ImplicitlyUnwrappedOptional
.
Language Design Programming Swift Programming Language
Serenity Caldwell:
Gone is the awkward mix of swiping: Instead, the Lock screen as displayed takes advantage of content in each direction; swipe from the top for Notification Center, right for the Widgets screen, left for the Camera app, or bottom for Control Center. Along the bottom of the Lock screen are page indicators like those on the Home screen — another indicator that more content hides out of reach on each side.
[…]
With these changes, iOS 10 paints a much clearer visual map for users, built in layers: On the top layer, you have Actions: Notification cards, Widgets, Control Center, and 3D Touch options; on the bottom layer, you have the Home screen; and the middle layer holds your Lock screen (if locked) or other app-related content (if unlocked).
[…]
By making each bit of iOS UI its own distinct layer, this also opens up greater horizontal interactions, as with Control Center. As seen in the keynote, Control Center now lives inside a hovering bubble layer, with a Music widget and Home widget just a left swipe away.
[…]
As part of iOS 7, Apple bet big on thinner font faces legible at small sizes; with iOS 10, the company is re-embracing font size and weight.
[…]
In part, the bigger font faces provide for readable, tappable touch targets: In the future, instead of stabbing furiously at the tiny mini-player on the bottom of the iOS 9 app, I can look forward to tapping an element double in size, with clearly demarcated play/pause buttons and no More (...) button in sight.
John Gruber:
I like these buttons that look like buttons in iOS 10.
Design iOS iOS 10 Music Typography
Ricky Mondello:
By default, Safari [10] no longer tells websites that common plug-ins are installed. It does this by not including information about Flash, Java, Silverlight, and QuickTime in navigator.plugins
and navigator.mimeTypes
. This convinces websites with both plug-in and HTML5-based media implementations to use their HTML5 implementation.
[…]
When a website directly embeds a visible plug-in object, Safari instead presents a placeholder element with a “Click to use” button. When that’s clicked, Safari offers the user the options of activating the plug-in just one time or every time the user visits that website. Here too, the default option is to activate the plug-in only once.
Adobe Flash Java Mac macOS 10.12 Sierra QuickTime Safari Web WebKit