This is the #4 article. From this article, I added a Podcast tag in the bottom because I often listen to iOS Podcasts. I’ll pick up some of them. Also, I added a Talk tag. By the way, I’m really looking forward to getting AirPods in next week :blush: My AirPods is on the way!



Article

NSRegular​Expression

NSRegularExpression can be a truly useful tool. In fact, you may have used it already to find dates, addresses, or phone numbers in user-entered text—NSDataDetector is an NSRegularExpression subclass with patterns baked in to identify useful info. Indeed, as we’ve come to expect of text handling throughout Foundation, NSRegularExpression is thorough, robust, and has surprising depth beneath its tricky interface.

Now I’m sure I can choose the best choice in regular expression.


Attributed String in Swift: the right way

NSAttributedString is one of the things I’ve started to hate in a post-Swift world; creating, combining and applying styles to a string, then render it it’s not a difficult task, but it’s boring, verbose and so damn inelegant. It’s like playing withAuto Layout via code until not so long ago; we can deserve a better experience, especially now we are using Swift: we can make it type-safe, easy and coincise to use.

let titleStyle,highglited = // just define your own style
// Let's combine simple String, String with applied attributes, as like you can imagine
let attributedText = "Hello" + username.set(style: titleStyle) + "," + " welcome here".set(style: highglited)

I can understand easily. I used to use TextAttributes before, but I may use his library.


IGListKit Tutorial: Better UICollectionViews

IGListKit was created to make feature-creep and massive-view-controllers a thing of the past when working with UICollectionView. By creating lists with IGListKit, you can build apps with decoupled components, blazing-fast updates, and support for any type of data. In this tutorial you will refactor a basic UICollectionView to use IGListKit, then extend the app and take it out of this world!

I haven’t tried this tutorial, but I’m still interested in using IGListKit if I have a chance.


RxSwift Primer: Part1 and Part2

Today, we’ll begin with the basic questions. What is Reactive Programming? What does it bring to the table? Why should I care?

I’m using RxSwift now in some projects. I could look back on an important concept from Part1.


Imagining Dependency Injection via Initializer with Storyboards

We presented a simple addition to UIStoryboard class that could improve an important downside of that API. We weren’t able to confirm – not having access to UIKit’s source code – that this addition is indeed as simple as it seems. With that API and with avoidance of segues we would have storyboards that don’t exercise most of the issues pointed out in “Storyboards and Their (Better) Alternatives.” Let’s hope that this is something Apple is currently working on and that we’ll see better APIs for storyboards soon.

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "detailsViewController")
present(viewController, animated: true, completion: nil)

or

In SwiftGen,

let viewController = StoryboardScene.Main.initialViewController()
present(viewController, animated: true, completion: nil)

He tried to solve the problem that UIViewController can pass data to it after the initialization time.



Slide

Contributing to Swift

A few months ago, I somehow ended up contributing a non-trivial diff to the Swift compiler without much prior experience with C++ and absolutely zero with compilers, and a lot of people have been asking me how I managed to pull that off. This talk will go over how to get up and running with the Swift compiler and how you can contribute too even if it feels completely new and scary!



Github

Kickstarter team opensourced their project. I guess they published most of codes in iOS. Awesome!

kickstarter/ios-oss

Also, you can see Kickstarter-ReactiveExtensions, Kickstarter-Prelude and so on in their repo.

malcommac/SwiftRichString

As I mention, this library is related to Attributed String in Swift: the right way.

insidegui/PlayAlways

PlayAlways is a menubar app to quickly create new iOS or macOS playgrounds.

Looks useful for people who like playing playgrounds.

ennioma/arek

AREK is a clean and easy to use wrapper over any kind of iOS permission.



Random

Developers’ side projects

It may vary depending on whom you talk to, who is in power at any particular time, and whether or not you’re sleeping with the boss. You’re on your own, basically—the only way to gain independence is to be independent. Being an employee of a high tech company whose product is intellectual means that you have decided that you want to sell your intellectual output, and maybe that’s OK, and maybe it’s not, but it’s a free choice.


Our Favorite Mac Apps of 2016

What becomes a favorite app is personal, complicated, and evolves over time. Favorites can be brand-new apps that debuted this year, old standbys that you go back to over and over, or newly-discovered apps that have been around for a while. With the end of the year in sight Alex, Jake, and I got together and each picked a handful of our favorite Mac apps that we used in 2016 to share with you.

I could know some new apps from the article. Check it out!



Podcast

Episode 123 – Tea. Earl Grey, Hot! from The More Than Just Code Podcast

We start off this week following up on Protocol Oriented Programming, CarPlay receivers and the iCloud Calendar bug. We discuss Kickstarter’s move to open source their IOS and Android apps. Air Pods are available for order and instantly backordered. We also cover Issues with MacBook Pro battery issues and Apple’s reaction. Jaime discusses his newly acquired Google Home. Picks: Apple Support app, The Twist, Dongle Dangler and TouchBar Piano.


Homebrew and Swift with with Max Howell from CHANGELOG

Max Howell, famous for creating Homebrew, joined the show to talk about his start in software and open source, the tweet that was heard around the world when he interviewed with Google and didn’t get accepted, the creation of Homebrew, the naming process, as well as the difficulty letting go. We also talked about his passion for the Swift programming language, and his work on Swift Package Manager while at Apple.


27: What if? from RUNTIME

This week we talk about what we might do if we didn’t work on iOS apps.



I bought Swift Style written by @erica last week. It’s in beta version. If I find something that should be modified, I’ll contact her by email. Highly recommend in my opinion!

If you have any questions and feedbacks about a kind of new Swifty week, feel free to ask me :+1: You can catch me on Twitter and Github.

Have a lovely week <3