Skip to content

Instantly share code, notes, and snippets.

View mahmudahsan's full-sized avatar

Mahmud Ahsan mahmudahsan

View GitHub Profile
import errno
import shutil
def copy(src, dest):
try:
shutil.copytree(src, dest)
except OSError as e:
# If the error was caused because the source wasn't a directory
if e.errno == errno.ENOTDIR:
shutil.copy(src, dest)
def pListModification():
bundleName = "MY APP"
bundleIdentifier = "net.myapp"
plistNote ="app_directory/app_name/" + "/App/App-Info.plist"
plistNoteData = plistlib.readPlist(plistNote)
plistNoteData['CFBundleDisplayName'] = "New My App"
def openNotesXcodeProject():
print("My App XCODE OPENING")
pathToOpen = "/app_directory/app_name/"+ "App.xcworkspace"
openFile = "open " + "'" + pathToOpen + "'"
os.system(openFile)
import UIKit
import PlaygroundSupport
//to run serial queue in playground always make the following true
PlaygroundPage.current.needsIndefiniteExecution = true
let mainQueue = DispatchQueue.main
let globalQueue = DispatchQueue.global()
let serialQueue = DispatchQueue(label: "net.ithinkdiff.app")
let concurQueue = DispatchQueue(label: "net.ithinkdiff.app.concurr", attributes: .concurrent)
import UIKit
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
let workingQueue = DispatchQueue(label: "net.ithinkdiff.app", attributes: .concurrent)
let globalQueue = DispatchQueue.global()
let defaultGroup = DispatchGroup() //create a new group
func multiplication(_ num: (Int, Int)) -> Int{
sleep(1) //to make the method slower
//Single BlockOperation
var result:Int?
let multiplication = BlockOperation{
result = 5 * 10
}
multiplication.start()
result
[/code]
Multiple operations using BlockOperation:
let pairOfNumbers = [(2, 3), (5, 10), (4, 5)]
class MultiplcationOp : Operation{
var inputPair: [(Int, Int)]?
override func main() {
guard let inputPair = inputPair else { return }
for pair in inputPair{
let result = pair.0 * pair.1
print(result)
import UIKit
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
let pairOfNumbers = [(2, 3), (5, 10), (4, 5)]
let operationQueue = OperationQueue()
//if set 1, it will be serial if commented it will be concurrent
operationQueue.maxConcurrentOperationCount = 1
@mahmudahsan
mahmudahsan / error_handling1.swift
Created December 22, 2017 16:39
Error Handling in Swift
enum SampleError: Error {
case sample1
case sample2(message: String)
}
@mahmudahsan
mahmudahsan / error_handling2.swift
Created December 22, 2017 16:40
Error handling in swift
func sampleThrowError() throws -> String {
throw SampleError.sample1
return ""
}