Consists of Style (just a function) and UIView extension
public typealias Style<ViewT> = (ViewT) -> Void
public protocol Stylable {}
public extension Stylable {
@discardableResult| ToolKit | |
| deps: https://github.com/elegantchaos/DictionaryCoding | |
| AppKit | |
| ComponentKit | |
| RDXKit |
| import Foundation | |
| import UIKit | |
| import RxSwift | |
| import SnapKit | |
| final class TemplateView: UIView, StatefulComponent { | |
| var state: State? { | |
| didSet { stateDidChange(from: oldValue) } | |
| } |
Message<ContentT> (заворачиваем в AnyMessage)ChatNotificationChatAccessoryMessageStore — основная модель. Redux Store (cостоит из компонент State, Action и Reducer). Для удобста компоненты разбиты на Local и Feed составляющие. Принцип работы:store.dispatch(.someAction(someParam))static const char kNotAParen = 0;
static inline BOOL isOpenParen(char paren) {
return paren == '[' || paren == '(' || paren == '{';
}
static inline BOOL isCloseParen(char paren) {
return paren == ']' || paren == ')' || paren == '}';Pick the range of commits (from A to B inclusive) from source branch and apply to destination branch
cherry-pick
git cherry-pick A~..B orgit cherry-pick A^..B (NB: Use A\\^ when using Oh-My-ZSH)rebase
0. Checkout a new temporary branch at the current location
git checkout -b tmp
##Primary Way
#define str_mk(name, ...) _##name; struct { char __VA_ARGS__; } name; char __##name
#define _(name, ...) char str_mk(name, ##__VA_ARGS__);
#define __(name, ...) str_mk(name, ##__VA_ARGS__)
#define ___(name, ...) str_mk(name, ##__VA_ARGS__)
#define ____(name) str_mk(name, dummy)
_(OTTDefaultTweakLib,#Repo Decoration
###Object introspection
- (id)_shortMethodDescription;
- (id)_methodDescription;
- (id)__methodDescriptionForClass:(Class)arg1;
- (id)_ivarDescription;
- (id)__ivarDescriptionForClass:(Class)arg1;