Posts

Showing posts with the label swift

What’s new in Xcode 13?

  Xcode 13 arrived at WWDC21 and includes a huge range of new features, improvements, and performance enhancements. In this article I’m going to walk you through all the key changes, so you can get up to speed quickly, but before I start I need to make two things clear: First, no, I don’t have beta access to Xcode Cloud or the new Swift Playgrounds.  Trust me, I wish I did! Both of these things look likely to be significant upgrades for the Swift community, and I’m really keen to try them out at the earliest opportunity.  And second, you might immediately note that Xcode hides your file extensions by default in the project navigator. This seems to mimic your Finder configuration, so if you’re suddenly confused where your file extensions have gone then you can bring them back With This One Weird Tip: go to Xcode’s preferences, select General, then change File Extensions to Show All. I’m going to try sticking with hidden extensions to see how I get on with it. Anyway, in th...

Solid Principles

 Solid Principle : S - Single Responsibility O- Open / Closed Principle L - Liskov Substitution I - Interface Segregation  D - Dependency Inversion  S - Single Responsibility Principle            A class should have only one  reason to change, meaning a class should have only one job.     Example :  For software development we have multiple people doing different thing like designer do designing, tester do testing and developer do development. O - Open / Closed Principle          Open for extension / Closed for modification      Example: All smart phones have app stores and these app stores let you extend the base  functionality of the phone. Via the App Store, you can extend the phones capabilities to allow you to manage your todo list, play video games. It's not as that Apple Google and Microsoft put the OS source code up on Github and invite you to dive in and start buil...

Great Apple Event 2021

Image
Like always one more interesting #AppleEvent 

How to setup Xcode Swift Project to use LLVM C APIs

Image
What is LLVM? “The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a “collection of modular and reusable compiler and toolchain technologies” used to develop compiler front ends and back ends.” —  Wikipedia This is what Wikipedia says about LLVM. What does it mean? In order to understand this, you should know very high-level picture of what is happening during compilation of Swift or any other programming language. Compilation Phases LLVM reduces the effort to make a compiler lot easier by abstracting optimization, code generation etc. LLVM Intermediate Representation (LLVM IR) is the one which makes it popular. LLVM IR is a machine independent representation which can be later converted to instruction for targeted architecture like x86, arm etc. Many popular programming languages like Swift, Objective-C, Haskell, Rust, Julia uses LLVM under the hood. Refer this video for more information related to LLVM Why should I use LLVM ...