Skip to main content

Posts

Recent posts

Interview question which I faced during FAANG interview

    Programming question given to me at  leetcode.      Given two strings representing very large integer numbers ("123" , "30") return a string        representing the sum of the two numbers ("153").     The above question can be rephrased as:-            Add two numbers represented by strings            Sum of two large numbers            Add Two Very Large Number (out of range)            How to add two string numbers             Solution in Swift programming language: func add (first: String , second: String ) {         var input1 = first         var input2 = second                  var firstArray = Array (first)         var secondArray = Array (second)                  //both inputs should have same number of characters         var differenceOfCharacter = 0         if firstArray. count > secondArray. count {             differenceOfCharacter = firstArray. count - secondArray. count             ( 0 ..< differenceOfCharacter). forEach

DispatchGroup vs DispatchSemaphore in iOS (Swift)

  In this post, I will share my knowledge about how to synchronise async code in swift programming language. Puzzled? Let read it to clarify :) In my current project, I had to develop a solution where I need to  perform multiple api calls in a loop, but synchronously and application should not freeze . Initially, I tried with DispatchGroup, but this approach was successful only if I have to run all apis calls asynchronously. Let’s look at below code snippet which illustrate the difference between DispatchGroup and DispatchSemaphore. DispatchGroup: In below example, api.performSomeAction() will be executed concurrently. This method call api in asynchronous manner.     /// - parameter ids: Array of identifer which will pass to api's post data     private func insertData(ids: [String]) {                  let group = DispatchGroup()                  ///Method which will execute when below if loop completes // (When dispatch group is notified)         func completion() {

How to kill/exit iOS application on a button click programmatically

I had been practising below code to kill an iOS application. exit(0); But last week, my application was rejected by app store due to following reason: We found that your app includes a UI control for quitting the app. This is not in compliance with the iOS Human Interface Guidelines, as required by the App Store Review Guidelines . To avoid any such rebuff, suspend the application using following code snippet. UIApplication.shared.perform(#selector(NSXPCConnection.suspend)) Good news is that now my application is passed the  iOS Human Interface Guidelines and live on app store.