Skip to content

Instantly share code, notes, and snippets.

View razon30's full-sized avatar
🏠
Working From Abroad

Md. Razon Hossain razon30

🏠
Working From Abroad
View GitHub Profile
@razon30
razon30 / UIKitInSwiftUI.swift
Created March 6, 2021 09:20
UIViewRepresentable to use UIKit to SwiftUI
import SwiftUI
struct SwiftUITextFieldView: UIViewRepresentable {
let textfieldView: CustomUIKitTextFieldView = CustomUIKitTextFieldView()
var viewModel: CustomUIKitTextFieldViewModel
func makeUIView(context: Context) -> CustomUIKitTextFieldView {
textfieldView.viewModel = viewModel
return textfieldView
@razon30
razon30 / Info.swift
Created February 13, 2021 07:48
Adding fonts in info.plist
<array>
<string>Gilroy-ExtraBold.otf</string>
<string>Gilroy-Light.otf</string>
</array>
@razon30
razon30 / fontname.swift
Last active February 13, 2021 07:47
Searching and printing available fonts in a Xcode
for family in UIFont.familyNames.sorted() {
let names = UIFont.fontNames(forFamilyName: family)
print("Family: \(family) Font names: \(names)")
}
@razon30
razon30 / moc2.swift
Last active January 5, 2021 21:38
Closure preserving value
func preserveClosure(_ externalFunc: @escaping () -> ()) -> () -> () {
var counter = 0
return {
counter = counter + 1
externalFunc(counter)
}
}
func externalFunc (counter: Int) {
print("I am called after \(counter)")
@razon30
razon30 / moc1.swift
Created January 5, 2021 20:22
magicOfClosure
func closureFunc (_ changeValueOf:(Int) -> ()) {
changeValueOf(10)
}
var x = 0
print(x)
func changeValueOf(newValue: Int) {
x = newValue
}
closureFunc(changeValueOf)
@razon30
razon30 / BehaviorRelay.swift
Last active January 5, 2021 20:33
Behavior Relay
let behaviorRelay = BehaviorRelay(value: "Initial value")
let disposeBag = DisposeBag()
behaviorRelay.subscribe{
print(label: "1)", event: $0)
}
.disposed(by: disposeBag)
behaviorRelay.accept("no way")
@razon30
razon30 / PublishRelay.swift
Last active January 5, 2021 20:33
Publish Relay
let relay = PublishRelay<String>()
let disposeBag = DisposeBag()
relay.accept("Hello")
relay.subscribe{
print(label: "1)", event: $0)
}
.disposed(by: disposeBag)
@razon30
razon30 / ReplaySubject.swift
Last active January 5, 2021 20:33
Replay Subject
let replySubject = ReplaySubject<String>.create(bufferSize: 3)
let disposebag = DisposeBag()
replySubject.onNext("1")
replySubject.onNext("2")
replySubject.onNext("3")
replySubject.onNext("4")
let subscriberOne = replySubject.subscribe{
print(label: "1)", event: $0)
}
@razon30
razon30 / BehaviorSubject.swift
Last active January 5, 2021 20:33
Behavior Subject
func print<T: CustomStringConvertible>(label: String, event: Event<T>) {
print(label, (event.element ?? event.error) ?? event )
}
func() {
let behaviorSubject = BehaviorSubject(value: "Initial behavior")
let disposeBag = DisposeBag()
let subscriberOne = behaviorSubject.subscribe {
@razon30
razon30 / PublishSubject.swift
Last active January 5, 2021 20:34
Tutorial: Example of Subject
let subject = PublishSubject<String>()
subject.onNext("Hello everyone")
let subscriptionOne = subject.subscribe(
onNext: { msg in
print("msg from sub 1: \(msg)")
}
)
subject.on(.next("1"))
subject.onNext("2")