This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Kind of type | |
| public enum Kind { | |
| case `struct` | |
| case `enum` | |
| case optional | |
| case opaque | |
| case tuple | |
| case function | |
| case existential | |
| case metatype |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| // struct for printing out instance address | |
| struct MemoryAddress<T>: CustomStringConvertible { | |
| let intValue: Int | |
| var description: String { | |
| let length = 2 + 2 * MemoryLayout<UnsafeRawPointer>.size | |
| return String(format: "%0\(length)p", intValue) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /// iOS 15+ | |
| func isPrewarm() -> Bool { | |
| if let prewawrmEnv = ProcessInfo.processInfo.environment["ActivePrewarm"], | |
| prewawrmEnv == "1" { | |
| return true | |
| } else { | |
| return false | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| fastlane_version "2.50.1" | |
| default_platform :ios | |
| platform :ios do | |
| before_all do | |
| # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..." | |
| # cocoapods | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 會帶真實型別進去 | |
| func doSomething<T: MyPotocol>(_ arg: T) { } | |
| // 有 existentail container | |
| func doSomething(_ arg: MyProtofcol) { } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| protocol FooDelegate: AnyObject { | |
| func didReceive(value: Int) | |
| func didOpen() | |
| func didClose() | |
| } | |
| class Foo { | |
| weak var delegate: FooDelegate? | |
| func open() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import ComposableArchitecture | |
| import SwiftUI | |
| struct <#Name#>State: Equatable {} | |
| enum <#Name#>Action: Equatable {} | |
| struct <#Name#>Environment {} | |
| extension <#Name#>Environment { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Combine | |
| import CombineExt // Check this implementation: https://github.com/CombineCommunity/CombineExt/blob/main/Sources/Operators/Create.swift | |
| import CoreBluetooth | |
| // Client to generate target delegate publisher | |
| // Learned from https://github.com/pointfreeco/composable-core-location/blob/main/Sources/ComposableCoreLocation/Live.swift | |
| struct PeripheralClient { | |
| enum Action: Equatable { | |
| case didUptateName |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| protocol P { | |
| associatedtype A | |
| associatedtype B | |
| } | |
| protocol Q: P {} | |
| extension Q where A == Int { | |
| typealias B = Int | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| enum Either<A, B> { | |
| case left(A) | |
| case right(B) | |
| } | |
| extension Either: Decodable where A: Decodable, B: Decodable { | |
| init(from decoder: Decoder) throws { | |
| let container = try decoder.singleValueContainer() | |
| if let a = try? container.decode(A.self) { | |
| self = .left(a) |
NewerOlder