Posts

Showing posts from 2017

What’s New in Swift

This article is just a short overview of this WWDC session. Here are the few things that were discussed as part of the session: 1.) Private variables are now accessible to all the extensions of the class in the same file. 2.) Composing a class with any number of protocols. Example :   protocol  Shakeable {      func  shake() } extension   UIButton :  Shakeable  {} extension   UISlider :  Shakeable  {} func  shakeControls(controls: [ UIControl  &  Shakeable ] ) {      for  control  in  controls  where  control.state.isEnabled {          control.shake()      } } 3.) Swift Versions: Swift 4 is source-compatible with Swift3. Swift3.2 introduced that contains most of the Swift4 syntax changes. So, there will be 2 Swift versions in Xcode9: Swift3.2   & Swift4. The end result is: If you open a Swift 3 project in Xcode9 and build the project with Swift3.2, it should work as it is, i.e., without any code changes. This is mainl

My MOOC course on FRP

Hey Guys, Recently the  Functional Reactive Programming(FRP) is getting a lot of traction, hence i started doing it and ended up getting addicted to it so much that Now i’m unable to go back and do the imperative programming at all. So i ended up creating a MOOC course on it, because i saw none of the course on this topic at all. Also, i’ve made sure to cover the best practices (Like VIPER, TDD, POP) followed in the industry to have an added bonus for those who enrol into this course. I’m pretty sure that it will help many people to adopt this awe-somatic way of writing the code. Here’s the link to my course.  For those who prefer to enrol, i can provide offer codes to take it up for a better/lesser price. I would basically like to trade it off for a rating/review on Udemy’s course page. I hope that you’d also share it with your friends and everyone around. Please get the word out. Even if they’re new to iOS programming, i’m pretty sure that it will help th

WWDC 2017 Updates

Todays WWDC 2017 has started with the message for developers “Keep making apps, the world is depending on you”. Some of keynotes: Mac: 1. High Sierra macOS releases. 2. Safari improvement - 80% faster than chrome now. 3. Split screen support. 4. Machine Learning in Chrome 5. Apple File System for Mac 6. Metal2 improves graphics potential more. 80% graphics speed improved. 7. Metal support VR Watch: 1. watch OS4 releases. 2. Play music while workout. 3. Siri based new watch faces. iOS: 1. iOS 11 releases. 2. Message app - end to end encryption. iCloud Sync (Synced across all iOS devices) 3. Apple pay - Person to person easy transaction. (Free with Debit card ; 3% charge on Credit Card transactions) 4. Machine Learning in Siri, it understands the context and your interests too. 5. Multi Language Translation support. 6. Loop/Bounce effects on Photos.  7. Spot light search on handwritten text - Notes app. 8. Virtual object placements

Memory Management in Objective-C

Image
Note: This article was written a very long back in the period of Xcode 6. Any application that runs on a device needs some sort of space in memory(RAM) during runtime in order to store any necessary data to be displayed or handled in the app. Any program that runs on the device needs to manage their memory based on the system resources(RAM Memory) by controlling or managing the lifetime of all the objects created for the app. iOS Applications does this through a process called 'Object Life Cycle Management' Or Otherwise called as 'Object Ownership'. This Ownership scheme is handled through a 'Reference Counting' mechanism, which uses a tracking mechanism internally to detect the number of owners for each object. Reference Counting Rules: Reference Count = 1, when an object is created and the Creator is the owner here. Reference Count +1, whenever a new owner is added. Reference Count -1, whenever an owner releases its reference.

Linking my Imaginea profile here

My profile on the Imaginea blogger has the following posts which are based upon the libraries that i developed for the Fontli app: SparkButton PlainLoaderView