ReactiveSwift - Manage your memory!

Memory management is a pretty important issue when talking about any kind of system. You can’t pretend that your resources are unlimited, and give them out no matter what. When working with ReactiveSwift it’s really easy to fall into the pit of wasted resources if you don’t follow simple rules.

Read More

ReactiveCocoa 4 - CocoaActions

CocoaAction is a wrapper around Action type that is available in ReactiveCocoa. (Here you can read more about Action). We use CocoaAction to bind our Actions to GUI controls. Let’s see a quick example of how it works.

Read More

ReactiveCocoa 4 - Events

Understanding signal events in ReactiveCocoa is a must. We can’t effectively use signals and signal producers if we don’t know what will happen after certain event is received. We distinguish two kinds of events that you can send through signals - terminating and non-terminating. There are three kinds of terminating events: Failed, Interrupted, Completed, and one non-terminating - Next.

Read More

Open source by default

Using open source code in projects is a common thing. I do it. Most of us do. But what is “open source” by default? Well, I’ve heard about this for the first time at MCE Conf 2016 - “Open by default” panel. It’s an idea to make software open by default and close it only if needed. There are many reasons to close it of course, but sometimes we do it unnecessarily.

Read More

MCEConf 2016 day 2

Hi! Second day of MCE3 is over. It has been a really nice day where and once again I had a chance to speak with people passionate about what they do. Let’s go through my today’s schedule.

Read More

MCEConf 2016 day 1

Hi! Yesterday I was at MCE3 2016 conference and it was my first time I’ve ever attended this kind of event. I didn’t quite know what to expect, but after all I got more than thought I would. Let’s go through with the agenda I’ve chosen for myself.

Read More

Fetching contacts with CNContactStore

Since iOS 9.0 we have a new nice method of fetching and saving contacts - CNContactStore! Today I will show you how to create a simple UITextField that will be responsible for fetching a contact for you!

Read More

Heartbeat button

Hi! Today I will show you how to create a simple heart button that will simulate a heartbeat upon each tap. You can find an example project on my Github.

Read More

My thoughts on - StatefulViewController

I had a chance to play a little bit with a nice pod that is called StatefulViewController, created by Alexander Schuch. StatefulViewController works with both UIView and UIViewController, and allows you to introduce placeholders for their different states: Loading, Error, Empty or Content. Everything is based on an intuitive protocol and after providing your placeholder views and implementing required methods everything works like a charm. You can find this pod on Alexander’s github. I’ve looked into the code of this pod and I found a few things that I want to share with you today.

Read More

Custom XCode key bindings

When I started writing Swift code, I found out that my beloved IDE(AppCode) for Objective-C, was not doing as well as I thought it would. Moreover, I’ve noticed that XCode did better job in terms of handling CocoaPods, autocompletion, debugging etc. It was more than enough for me to say sorry to XCode and leave AppCode for some time to let it solve it’s problems. I really miss it’s Objective-C features like code refactoring and it’s ability to generate code, but there is no place for sentimentality. Currently I’m proud user of XCode 7.3 beta and I really like it’s new autocompletion feature.

Read More

My thoughts on - Whisper

Lately I’ve come across a nice pod which makes in-app messaging easier and decided to give it a quick look. I’ve created a test project in order to see how the pod behaves and my first impression was… “That was easy!”. If you want to find out how to use this pod, check out Hyperoslo’s github, which shows how easy it is to start sending your messages!

Read More

Swift files generator

For some time, I have been creating iOS apps without using storyboards at all. Because of this fact ,creating screens in the application is connected to some repetitive steps. You create a ViewController, then a View which will be presented in the controller. You want a PageViewController? Create one, set up ViewControllers that will be presented inside it. After some time, you can recognise a pattern and prepare a bunch of code snippets that will do the job for you. Or… You can prepare a code generator, that will generate all the files for you. This will allow you to skip the part of creating files and filling them with code templates. In this blog post, I will tell you about creating my first code generator.

Read More

Data transfer between Apple Watch and iPhone

Today’s post will cover basic data transfer between your iPhone app and Apple Watch app. Let’s assume that you have already created an Apple Watch extension in your project and you want to transfer some data to your watch. As an example, we will be sending Event object to our watch, so let’s have a look at Event class!

Read More

EventKit - Gaining access to calendar events

If you want to gain access to your calendar events it’s time to use EventKit. EventKit allows you to do multiple operations with calendar events and reminders. In this post I will cover gaining access to existing events in your calendar.

Read More

NSKeyedArchiver/Unarchiver

Lately I’ve spent some time wrtiting an app for myself. It is supposed to let you create tasks, mark them as done/undone and then track your progress. I’ve called it “Habit Tracker” and it is available here. While writing this utility I came across a few interesting issues and this blogpost will cover one of them.

Read More

Git Daily Update

Recently I’ve started playing with “git log” command in order to simplify my daily update routine. After some time I found a command that fills my needs. The command basicly prints commits that user “Eliasz Sawicki” has done within last day.

Read More

Hello world!

Hi everybody! I’m Eliasz Sawicki and this blog will be my way of learning things by showing them to you! Enjoy ;)

Read More