All posts by Angelo

Angelo Villegas is a software developer building native iOS apps using Objective-C and Swift. I enjoy thinking that the apps I built make the users' life easier.

Swift: Range Operators

Swift includes two range operators, closed range and half-closed range, which are shortcuts for expressing a range of values. Range operators are most commonly used with the for loop. In Objective-C, we have 2 different for loops, the traditional loop and iteration-based loop. Traditional For Loop The traditional for loop found in C requires 3 … Continue reading Swift: Range Operators

iOS: Data Protection

iOS is based on the same core technologies as OS X, and benefits from years of hardening and security development. According to Apple’s iOS Security Guide, iOS security can be viewed in four layers: System architecture: The secure platform and hardware foundations of iPhone, iPad, and iPod touch. Encryption and Data Protection: The architecture and … Continue reading iOS: Data Protection

iOS: UIPasteboard, UIMenuController & UIMenuItem

There are times that you need to copy and paste items on your device, few words won’t be a problem but several paragraphs will. UIPasteboard is a built-in class that allows you to copy items to the pasteboard in iOS and paste it somewhere else. A user then selects an item (e.g., words, images, etc..) … Continue reading iOS: UIPasteboard, UIMenuController & UIMenuItem

iOS: NSLayoutConstraint

With the release of Xcode 5 and iOS 7 the need to learn, understand, and use auto layout increased. Auto layout were introduced in iOS 6.0; with auto layout, it is easier to design the interface for multiple screen sizes and also for multiple languages (e.g., Arabic, Japanese, Chinese, etc..). It’s not hard to design … Continue reading iOS: NSLayoutConstraint

iOS: NSDate & NSDateFormatter

One of the commonly used classes in building iOS apps are the NSDate (which allows us to deal with dates) and, of course, NSDateFormatter (which allows us to format the date and time to be printed). It is very likely that somewhere in your app, you may need to work with a lot of dates … Continue reading iOS: NSDate & NSDateFormatter

Let’s try Ruby in 30 minutes

A Brief History Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro “Matz” Matsumoto in Japan. Ruby syntax is inspired by Perl with Smalltalk-like features and was also influenced by Eiffel and Lisp. It supports multiple programming paradigms, including functional, object oriented, and imperative. It … Continue reading Let’s try Ruby in 30 minutes

Clang Language Extensions: instancetype

Objective-C is a rapidly evolving language faster than many other. ARC, object literals, subscripting, blocks: in the span of just three years, this is just an example of how fast it grows. One of the latest addition to ObjC is instancetype. Clang adds a keyword instancetype that, as far as I can see, replaces id … Continue reading Clang Language Extensions: instancetype

Shell: Generate Git

A comprehensive script for Xcode projects that lets you generate .gitignore and .gitattributes in the directory of your choosing. Download You can grab the script here: Running the script Copy the script to your project folder. Open Terminal and run: cd path/to/your/project/ (if you’re not yet on your project’s directory) sh AngeloAngelo Villegas … Continue reading Shell: Generate Git

iOS: AVPickerDimView

AVPickerDimView alpha AVPickerDimView is a simple class combination of UIView, UIActionSheet, and UIPickerView. Installation There are 3 ways to download and import the files to your project: Download: Using git subtree (recommended) git subtree add –prefix=AVPickerDimView –squash master Using git submodule git submodule add AVPickerDimView Download as zip Download the file: AVPickerDimView Project … Continue reading iOS: AVPickerDimView

iOS: NSString+HTMLHelper

NSString+HTMLHelper is a collection of methods that helps me deal with HTML tags and URLs. NSString+HTMLHelper Download Link GitHub Sample Usage: Please look at the demo project. It has sample codes on how to use the category. Methods: // Class Methods + (NSString *)mimeTypeFromURL:(NSURL *)pathForResource; + (NSString *)mimeTypeFromResource:(NSString *)pathForResource ofType:(NSString *)type; // Instance Methods – … Continue reading iOS: NSString+HTMLHelper