<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Roger Molas - iOS Tricks and Findings</title>
    <link>http://blog.rogermolas.com/</link>
    <description>Recent content on Roger Molas - iOS Tricks and Findings</description>
    <generator>Hugo -- gohugo.io</generator>
    <managingEditor>contact@rogermolas.com (Roger Molas)</managingEditor>
    <webMaster>contact@rogermolas.com (Roger Molas)</webMaster>
    <copyright>(c) Roger Molas (CC BY-SA 4.0)</copyright>
    <lastBuildDate>Thu, 19 Mar 2020 17:21:30 +0800</lastBuildDate>
    
	<atom:link href="http://blog.rogermolas.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Access class name using @objc attribute</title>
      <link>http://blog.rogermolas.com/posts/objc_class_name/</link>
      <pubDate>Thu, 19 Mar 2020 17:21:30 +0800</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/objc_class_name/</guid>
      <description>Scenario
 Create a Simple Table View app Load customs cells each row Cell identifier is the class name if the object is TableCell cell identifier is &amp;ldquo;TableCell&amp;rdquo; Use common cell loading techniques Use helper method to load cell using @objc attribute  Create UITableViewCell subclass
class HeaderCell: UITableViewCell { ... } class ContentsCell: UITableViewCell { ... } class AboutCell: UITableViewCell { ... } Load cell in Tableview in traditional way</description>
    </item>
    
    <item>
      <title>iOS Localization Tool</title>
      <link>http://blog.rogermolas.com/posts/ios-localization-tool/</link>
      <pubDate>Sun, 22 Jul 2018 13:39:13 +0800</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/ios-localization-tool/</guid>
      <description>Localization is simply the process of translating your app into multiple languages.
In situation like you need support multiple language, including API response messages and dynamic strings you need a list of localizable .strings file, and you need to localized it based on the Language you want ( e.g English, Chinese, Japanese ).
Xcode has a built-in localizable file generator that generate your localizable .strings for each language you supported.</description>
    </item>
    
    <item>
      <title>Generate MapView Snapshot with Snapshotter</title>
      <link>http://blog.rogermolas.com/posts/mapkit-generate-image-snapshotter/</link>
      <pubDate>Mon, 12 Feb 2018 14:29:02 +0800</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/mapkit-generate-image-snapshotter/</guid>
      <description>MKMapSnapshotter is use in creating an image representation of a map view. Previously, other developers use UIGraphicsContext, but now images can reliably be created for any particular region and perspective.
Creating a Map View Snapshot let mapSnapshotOptions = MKMapSnapshotOptions() mapSnapshotOptions.region = mapView.region mapSnapshotOptions.scale = UIScreen.main.scale mapSnapshotOptions.size = mapView.frame.size mapSnapshotOptions.showsBuildings = true mapSnapshotOptions.showsPointsOfInterest = true let snapShotter = MKMapSnapshotter(options: mapSnapshotOptions) snapShotter.start { (snap, error) in let image = snap?.image imageView.image = image } According to Apple&amp;rsquo;s MKMapSnapshot doc</description>
    </item>
    
    <item>
      <title>Multiline String Literals</title>
      <link>http://blog.rogermolas.com/posts/multiline-string-literals/</link>
      <pubDate>Sat, 01 Jul 2017 14:07:14 +0000</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/multiline-string-literals/</guid>
      <description>Long strings are strings delimited by &amp;quot;&amp;quot;&amp;quot;triple quotes&amp;quot;&amp;quot;&amp;quot; that can contain newlines and individual &amp;quot; characters without the need to escape them. SE-0168 Multi-Line String Literals
Multi-Line String Literal Creation let lines = &amp;quot;&amp;quot;&amp;quot; This is line one This is line two This is line three &amp;quot;&amp;quot;&amp;quot; print(&amp;quot;Multi-Line String: \(lines)&amp;quot;) Mutation let myString = &amp;quot;&amp;quot;&amp;quot; Hello Multi line string! This is sample of mutating string. End here &amp;quot;&amp;quot;&amp;quot; let startingIndex = myString.</description>
    </item>
    
    <item>
      <title>Grand Central Dispatch and Swift 3</title>
      <link>http://blog.rogermolas.com/posts/grand-central-dispatch-and-swift-3/</link>
      <pubDate>Fri, 09 Dec 2016 10:43:00 +0000</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/grand-central-dispatch-and-swift-3/</guid>
      <description>**Grand Central Dispatch **(GCD or libdispatch) a system level library for managing concurrent operations develop by Apple Inc., it is one of the more complicated and unfriendly APIs in iOS SDK. It was written in C programming language using this API felts like writing low-level C code that executed directly into hardware.
GCD or libdispatch is a combination of logic in the xnu kernel alongside the user-space library. The kernel has the most information available to balance workload across the entire system.</description>
    </item>
    
    <item>
      <title>New iOS9 String Transformations API</title>
      <link>http://blog.rogermolas.com/posts/new-ios9-string-transformations-api/</link>
      <pubDate>Mon, 29 Jun 2015 09:44:00 +0000</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/new-ios9-string-transformations-api/</guid>
      <description>String transformations formerly done using CFStringTransform a part of Core Foundation Framework. In iOS 9 string transformation can be done along with the new “NSStringTransform*” constants a native Cocoa API and no need to deal with bridging to CFStringRef.
Here are some of my favorite transformations that can be done with the new NSStringTransform* API.
print(&amp;quot;roger&amp;quot;.stringByApplyingTransform(NSStringTransformLatinToGreek, reverse: false)!) //ῤογερ print(&amp;quot;roger&amp;quot;.stringByApplyingTransform(NSStringTransformLatinToHangul, reverse: false)!) //로겔 print(&amp;quot;\uD83D\uDC2E&amp;quot;.stringByApplyingTransform(NSStringTransformToUnicodeName, reverse: false)!) //{COW FACE} </description>
    </item>
    
    <item>
      <title>WatchKit Framework</title>
      <link>http://blog.rogermolas.com/posts/watchkit-framework/</link>
      <pubDate>Wed, 13 May 2015 10:14:00 +0000</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/watchkit-framework/</guid>
      <description>WatchKit is the new framework created by Apple for Apple Watch development, WatchKit is available starting Xcode 6.2 and iOS 8.2.
Analogous to UIKit for iOS apps, the framework allows developers to drop in custom interfaces and interact with your existing iOS app.
When app is launched on Apple Watch, the WatchKit extension on iPhone runs in the background to update the user interface and respond to user interactions.
WatchKit framework provides three opportunities to extend your iPhone app to Apple Watch: WatchKit app, Glances, and actionable Notifications.</description>
    </item>
    
    <item>
      <title>iOS Dependency Management</title>
      <link>http://blog.rogermolas.com/posts/ios-dependency-management/</link>
      <pubDate>Fri, 10 Apr 2015 06:00:00 +0000</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/posts/ios-dependency-management/</guid>
      <description>As an iOS developer, you certainly use a third-party libraries or a source code made by others to extend your app’s abilities. At first, it seems easy, just drag and drop some source code or libraries in your Xcode project or drag and drop an entire subproject into the parent project and you are done.
Just imagine how difficult it would be if you had to implement everything from scratch!</description>
    </item>
    
    <item>
      <title>About</title>
      <link>http://blog.rogermolas.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>contact@rogermolas.com (Roger Molas)</author>
      <guid>http://blog.rogermolas.com/about/</guid>
      <description>My name is Roger Molas. This blog, its content, thoughts and opinions are my own. I blog about technology, code, iOS development, Swift, Objective C and anything related to that. I&amp;rsquo;m excited about, innovation, codes, data science, community, social equity, stocks and entrepreneurship.
Started programming at high school with BASIC and C, from there i got engaged with programming and explore everything related to bit and bytes. I started iOS development with Objective-C in 2010, published 4 applications on the app store the old blog.</description>
    </item>
    
  </channel>
</rss>