Suat Karakuşoğlu
- Professional iOS Mobile Developer
- 3+ yil Dogus Tek #Dijital Cozumler
Hi, I am Suat.
I love functional and compositional side of the programming world.
Extensively use the unix & terminal world.
I am clean and readable code addict.
Java and Swift professional.
I have started Swift language at the time of 1.2 version.
I am also interested in a lot of programming approaches, occasionally writes small tools in Clojure, Python.
| import UIKit | |
| class ZMLocalBroadcastSampleTriggerVC: UIViewController | |
| { | |
| override func viewDidLoad() | |
| { | |
| super.viewDidLoad() | |
| ZMLocalBroadcastType.someMagicHappened.broadcast(with: ["magicName": "knockKnockMagic"]) | |
| } | |
| } |
| import UIKit | |
| class ZMLocalBroadcastSampleVC: UIViewController { | |
| var observerMagicHappened: ZMLocalBroadcastObserver? | |
| override func viewDidLoad() | |
| { | |
| super.viewDidLoad() | |
| self.observerMagicHappened = ZMLocalBroadcastType.someMagicHappened.observeBroadcast {[weak self] (data) in |
| // | |
| // ZMLocalBroadcastObserver.swift | |
| // Zamekan | |
| // | |
| // Created by Suat Karakusoglu on 11.06.2018. | |
| // Copyright © 2018 suat.karakusoglu. All rights reserved. | |
| // | |
| import Foundation | |
| class ZMLocalBroadcastObserver |
| import Foundation | |
| typealias ZMBroadcastReceivedBlock = ([AnyHashable: Any]?) -> Void | |
| enum ZMLocalBroadcastType: String | |
| { | |
| case someMagicHappened | |
| func broadcast(with data: [AnyHashable: Any]? = nil) | |
| { |
| extension RandomAccessCollection{ | |
| func randomInt() -> Int? { | |
| guard let startNumber = self.first as? Int else { return nil } | |
| guard let endNumber = self.last as? Int else { return nil } | |
| let rangeNumber = endNumber - startNumber | |
| let random = Int(arc4random_uniform(UInt32(rangeNumber))) + startNumber; | |
| return random | |
| } | |
| } |
| class Utils | |
| { | |
| static func toGreyish(image:UIImage) -> UIImage? | |
| { | |
| guard let colorControlsFilter = CIFilter(name: "CIColorControls") else { return nil } | |
| guard let colorExposureFilter = CIFilter(name:"CIExposureAdjust") else { return nil } | |
| let ciImage = CIImage(image:image) | |
| colorControlsFilter.setValue(ciImage, forKey: kCIInputImageKey) |