1 min read

Issue #20

Hi there,

Can't believe this is already the 20th issue  🎉 A milestone for sure. Thank you for your continuous support and feedback - and for spreading the word!

Old new UIKit APIs

When new APIs are introduced at WWDC, we can't use them right away in apps supporting previous iOS versions. And when the time comes, we already forgot about them.

@onmyway133 shares a collection of reminders about cool and useful APIs that were introduced in previous years:

Here's a link to UIViewPropertyAnimator documentation.

Documentation for setCustomSpacing(_:after:) - alas, not very useful.

Here's a link to UITextContentType documentation.

Some useful links: UITabBarItemAppearance documentation, UITabBarAppearance documentation, Using UITabBarAppearance for Tab Bar changes in iOS 13.  Similar API is available for navigation bars: UINavigationBarAppearance documentation, UINavigationBar changes in iOS 13.

Here's a link to KeyboardDismissMode documentation.

Array slice indices

The fact that a slice is just a "view" into the original array can be unexpected and lead to indexing bugs. Convert to the slice to Array(slice) to avoid this, though then new memory will be used.

Int vs UInt

Turns out, the official Swift documentation recommends against using UInt for simply noting values that shouldn't be negative:

A consistent use of Int for integer values aids code interoperability, avoids the need to convert between different number types, and matches integer type inference, as described in Type Safety and Type Inference.

On software design

Have you heard of the broken windows theory? In short, it says that when there's a broken window on a building, more windows will get broken there. One graffiti attracts more graffiti. This is a fairly short article, that nonetheless brings an interesting perspective to the topic of software design and maintenance.

Apply "Broken-Windows" theory to the Software Design

"Broken Windows" is one of the most cited articles in the history of criminology. What can it teach in the world of software development?