Skip to content

Instantly share code, notes, and snippets.

View kemchenj's full-sized avatar
😵
拖延癌末期,不爱回复

Kem Chen kemchenj

😵
拖延癌末期,不爱回复
View GitHub Profile
//
// main.c
// jkasdfj
//
// Created by kemchenj on 2018/7/13.
// Copyright © 2018 kemchenj. All rights reserved.
//
#include <stdio.h>
extension UITextView {
func correctSelection() {
let currentSelectedRange = selectedRange
let wholeRange = attributedText.wholeRange
let emptyRange = NSRange()
var lowerAttributeEffectiveRange = NSRange()
var upperAttributeEffectiveRange = NSRange()
@kemchenj
kemchenj / example.swift
Last active September 13, 2017 16:43 — forked from chriseidhof/kvo-binding.swift
通过 Swift 4 新增的 KeyPath,让 NSObject 拥有了类型安全的 KVO-Binding https://twitter.com/chriseidhof/status/907232916555661312
import Foundation
final class Sample: NSObject {
@objc dynamic var name: String = ""
}
class MyObj: NSObject {
@objc dynamic var test: String = ""
}
@kemchenj
kemchenj / Frequencies.swift
Last active September 13, 2017 16:44
通过给 Sequence 添加 extension 去检测 Element 的频率 https://twitter.com/chriseidhof/status/906148040020553728
import Foundation
extension Sequence where Element: Hashable {
var frequencies: [Element: Int] {
return Dictionary(lazy.map { ($0: 1) }, uniquingKeysWith: +)
}
}