Skip to main content

34 posts tagged with "iOS"

View All Tags

iOS 架构类文章汇总

· 2 min read

近几年在关于 iOS App 架构的讨论很热烈,然后从 Web 开发上受到很多的启发。本文汇总一些 Flux/Redux、MVVM、VIPER等文章。

减轻 AppDelegate 的负担

· 5 min read

命令模式

命令模式 以对象来代表单一动作和事件,并把对象叫做命令。命令封装了所有参数,命令的调用者无需了解命令做了什么。

我们给每一个 app delegate 责任定义一个命令,命令的名称表明了目的。

UIAlertController 自定义样式

· One min read

修改 UITextField 高度

如果是简单的弹框输入文字,即可在 UIAlertController 里添加 UITextField,在修改 UITextField 的高度时需要用到约束才有效。

判断iOS系统的小时制

· One min read

对时间做一些国际化操作时,有时需要区分是 12 小时显示还是 24 小时显示,用户可以在设置里面自由选择,App 还需要实时监听改了小时制的变化。

iOS 的 NSPredicate 使用方法

· 6 min read

基本使用

格式化参数

查找name是 Asriel 且 money 等于 50 的 Person

let fetchRequest = NSFetchRequest<Person>(entityName: "Person")
fetchRequest.predicate = NSPredicate(format: "name == %@ AND money == %i", "Asriel", 50)

【译】Swift 中使用工厂方法的依赖注入

· 8 min read

阅读原文,作者是John Sundell

依赖注入的好处暂且不表,大家都知道。最普遍的做法是在初始化的时候传入它所需要的所有依赖,但是碰到下面这种情况,你就会感觉很蛋疼了:

class UserManager {
init(dataLoader: DataLoader, database: Database, cache: Cache,
keychain: Keychain, tokenManager: TokenManager) {
...
}
}

UIScrollView 不想触发 scrollViewDidScroll 的操作

· 2 min read

修改偏移,但是不想触发

旋转之后需要重新设置 contentOffset,但是设置 scrollView 的 contentOffset 会触发 scrollViewDidScroll 调用。这里使用修改 scrollView 的 bounds 来达到目的,但是可以不触发 scrollViewDidScroll 回调。

CGRect bounds = self.scrollView.bounds;
bounds.origin.x = self.segmentedControl.selectedSegmentIndex * self.view.frame.size.width;
self.scrollView.bounds = bounds;