Gestures in SwiftUI

Published at November 19, 2019 ·  1 min read

学习 iOS 开发遇到最大的阻力来自于,其拥有太多本身系统所拥有的特性,除了 Swift 本身的各种语法糖外,还有各种衍生出的内置酷,在这个过程中,不得不大量查阅开发文档即相关教程以了解其用法。 Gesture 便是其中一例。SwiftUI 除了提供 Gesture 相关的几个函数,TapGesture, DragGesture, RotationGesture, MagnificationGesture, LongPressGesture 外,还有 @GestureState 属性,与 Gesture 绑定监听状态。 Gestures in SwiftUI...

Throttle vs Debounce in RxSwift

Published at November 15, 2019 ·  1 min read

Throttle 和 Debounce 在 RxSwift 中的区别。 Throttle:在某一时间段内最多触发一次 Debounce:当上一请求之后某一时间内没有任何后续操作后将其触发。 Throttle vs Debounce in RxSwift...

RxSwift: Benefits and Use Cases

Published at November 3, 2019 ·  1 min read

“functional reactive programming” 似乎是用 Swift 做 iOS 开发过程中必须面临的一个与以往 OOP 编程相异的一个模式。而 RxSwift 则是其中比较具有代表性的一个框架。 “It’s like flicking a light switch: the switch and the light bulb are coupling components. In coding terms: suppose that the bulb reacts to the switch and transforms its state accordingly, then it is reactive and the switch is observable, because it only observes the changes in the state of a light bulb.“ 这种思想与 Vuejs 这款前端编程框架中的 watch 较为类似,当某某发生变化时,则进行某某行为。其行为均是根据某一事件或用户交互而引发。...

React Native: Why and How to Build Your Native Code in Go

Published at July 20, 2019 ·  1 min read

利用 gomobile 将 Golang 代码分别部署到 iOS 和 Android,同时借助 React Native 编写界面的便捷性,在 RN 中调用 Golang 函数,可以实现底层同样的一套代码同时在 iOS 和 Android 运行,UI 层也可以实现复用同样一套代码 React Native: Why and How to Build Your Native Code in Go...

Network Extension, Part 1 - Introduction

Published at February 28, 2019 ·  1 min read

主要介绍了 iOS 中与网络相关的几个 API,比如设置私人VPN,流量过滤、dns 等等 Network Extension, Part 1 - Introduction...


abcs accept acid activemq affinity algorithm allocation android array async aws b+tree b-tree backoff benchmark best-practices bfs big-o bigquery bind bitcount blog break broker bubble buffer cache cap cert cgroups channel citus class classmethod closure closures cluster concurrency config consistency consumer container context cookie cors crawler cronjob csrf ctr data-science data-structure database datadog dataflow datascience decorator deepcopy defer dfs distributed django dns docker double-shipping drf ecosia elastic-search enumerate epoll equal errgroup escaping event extra fabric2 facebook-pixel financial-report flask flutter forward-proxy freelance frontend frp garbage-collector gc gcp generator gesture get gil git golang goroutine graphql ha handbook haproxy hash hash-slot hashring hashtable hpa http http-auth http-proxy http_proxy https index init innodb instagram intention-lock intergration interview ios is javascript jinja2 jobboard json jwt k8s kafka kibana kqueue label lambda layer4 layer7 lean levels.io linked-list linux list listen loadbalancer lock logs long-tail lru marketing master matplotlib memory merge metaclass metaprogramming metrics metrics-server microservices mitm mobile model mongo mongoose mq myisam mysql namespace nat netflix network network-extension nginx nodejs nomad nosql notification npm oodesign openssl optimization orm osi pandas parallelism paramiko parkinglot patroni permission pg pipeline pixelme post postgresql postresql prefetch_related prerender private-key process proxy proxycommand put pvm python queue rabbitmq rbac react-native reactive reactjs rebase redis redis-cluster replication resource rest restfulapi retargeting retry revenue reverse-proxy rocketmq rsa rxswift saas scaffold scaleable search-engine security select seo serverless service session set shadosocks shadowsocks shard sharding shell shopify sigint signal sigterm singleton slack slave slow-query sniper sns socket socks5 source-code spa sql sqlalchemy sqs ssh ssl ssl-pinning stack startup state stateful stateless staticmethod string struct swift swiftui switch syscall system-design systemctl tcp tcp-proxy thread tmpreaper token traefik trustkit tunning type typeform udp userdefaults variable vc voidcallback vpn vuejs weak web web-development where widget with yarn zset 削峰 单例模式 宽索引 异步 看源码学-golang 窄索引 解耦 跨域 跳板机


2020 (6)
2019 (157)
0001 (5)