Skip to content

Instantly share code, notes, and snippets.

View erdemildiz's full-sized avatar
🏠
Working from home

Erdem ILDIZ erdemildiz

🏠
Working from home
View GitHub Profile
@erdemildiz
erdemildiz / UIView+Constraint-Extensions.swift
Last active September 26, 2020 16:15
UIView constaints extension
extension UIView {
func layout(using constraints: [NSLayoutConstraint]) {
translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate(constraints)
}
}
// Example
label.layout(using: [
@erdemildiz
erdemildiz / uicolor+darkmode+extension.swift
Last active September 26, 2020 16:15
UIColor+DarkMode-Extension
func colorPair(light: UIColor, dark: UIColor) -> UIColor {
UIColor { traitCollection -> UIColor in
switch traitCollection.userInterfaceStyle {
case .dark:
return dark
case .light, .unspecified:
return light
}
}
}
@erdemildiz
erdemildiz / config.swift
Last active September 26, 2020 16:14
Xcode config
import Foundation
enum Configuration {
enum Error: Swift.Error {
case missingKey, invalidValue
}
static func value<T>(for key: String) throws -> T where T: LosslessStringConvertible {
guard let object = Bundle.main.object(forInfoDictionaryKey:key) else {
throw Error.missingKey
@erdemildiz
erdemildiz / CoreDataManager.swift
Last active January 28, 2023 09:38
CoreDataManager cheatsheet
import CoreData
import UIKit
// ./NoteList.xcdatamodeld
class CoreDataManager {
static let sharedInstance = CoreDataManager()
private init() { }
@erdemildiz
erdemildiz / Combine+UIKit.swift
Last active September 26, 2020 16:14
Combine framework in UIKit
//
// CollectionViewController.swift
// sampleApp
//
// Created by Erdem ILDIZ on 30.05.2020.
// Copyright © 2020 Erdem ILDIZ. All rights reserved.
//
import UIKit
import Combine
@erdemildiz
erdemildiz / xcframework.sh
Last active September 26, 2020 16:13
xcframework samplecode
xcodebuild archive -scheme SampleMyFramework -archivePath "./build/ios_sim.xcarchive" -sdk iphonesimulator SKIP_INSTALL=NO
xcodebuild archive -scheme SampleMyFramework -archivePath "./build/ios.xcarchive" -sdk iphoneos SKIP_INSTALL=NO
xcodebuild -create-xcframework -framework "./build/ios.xcarchive/Products/Library/Frameworks/SampleMyFramework.framework" -framework "./build/ios_sim.xcarchive/Products/Library/Frameworks/SampleMyFramework.framework" -output "./build/SampleMyFramework.xcframework"
@erdemildiz
erdemildiz / keypad.swift
Last active September 26, 2020 16:13
Keypad Solution
import Foundation
func entryTime(s: String, keypad: String) -> Int {
var time = 0
var lastKeyPadIndex = -1
s.forEach { charOfs in
if let currentIndex = keypad.firstIndex(of: charOfs)?.utf16Offset(in: keypad) {
var keyPadIndex = 1
if (currentIndex > 2 && currentIndex < 6) { keyPadIndex = 2 }
@erdemildiz
erdemildiz / dealloc-detection.txt
Last active September 26, 2020 16:13
Dealloc Detection by using Symbolic Breakpoint
// Source: https://sarunw.com/posts/easy-way-to-detect-retain-cycle-in-view-controller/
IMAGE URL: https://d33wubrfki0l68.cloudfront.net/ed072d774d90c6c39313c572521165b1cd23e5da/c5b38/images/debug-deinit-breakpoint-result.png
@erdemildiz
erdemildiz / ProgressView.swift
Last active September 26, 2020 16:13
ProgressView
import SwiftUI
import ClockKit
struct ProgressSample: View {
var body: some View {
ProgressView(value: 0.7)
.progressViewStyle(CircularProgressViewStyle())
}
}
@erdemildiz
erdemildiz / Gauge.swift
Last active September 26, 2020 16:13
Gauge
import SwiftUI
import ClockKit
struct GaugeSample: View {
var body: some View {
Gauge(value: 5.8, in: 3...10) {
Image(systemName: "drop.fill")
.foregroundColor(.green)
}
.gaugeStyle(CircularGaugeStyle())