首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发常用之响应式框架

不同于使用可变的变量替换和就地修改,RAC提供信号来捕获当前值和将来值(使用介绍 ),不错的例子,入门好教程:ReactiveCocoa入门教程:第一部分。...LoginWithReactiveCocoa - ReactiveCocoa - 登录交互效果的实现。 RxSwift - RxSwift:函数响应式编程框架。...RxPermission.swift - 通过绑定RxSwift实现的RxPermission。 Permission.swift - 统一的API请求iOS本地设备和资源权限类库。...Objective-Chain - Objective-Chain是一个面向对象的响应式框架,作者表示该框架吸收了ReactiveCocoa的思想,并且想做得更面向对象一些。...MVVMFramework - (OC版)总结整理下一个快速开发框架,分离控制器中创建tableView和collectionView的代码,已加入cell自适应高度,降低代码耦合,提高开发效率。

99530
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    细述Kubernetes和Docker容器的存储方式

    #####集合视图的作用 集合视图是为了增强网格视图开发而在IOS6中开放的集合视图API。 #####集合视图的组成 集合视图有4个重要的组成部分,分别为: 单元格:即视图中的一个单元格。...节:即集合视图中的一个行数据,由多个单元格构成。 补充视图:即节的头和脚。 装饰视图:集合视图中的背景视图。...#####单元格 集合视图单元格是集合视图中最为重要的组成部分,没有样式和风格定义,单元格就是一个视图,可以在内部放置其他视图或控件。...,常用的属性是section和row两个,section是集合视图节索引,row是集合视图中单元格的索引。...设置每个单元格的大小:itemSize。 设置整个collectionView的内边距:sectionInset,类型是UIEdgeInsets结构体。

    1.5K20

    RxSwift核心逻辑的理解

    这一篇文章全面解密 RxSwift核心流程 RxSwift这个优秀的框架,设计的api也是非常精简,让陌生的用户也能非常快速上手 1: 创建序列 2: 订阅序列 3:发送信号 // 1: 创建序列 _...猜测的真实性,我们开始解读源码来验证 PS: 说实话 RxSwift框架的源码的确比较复杂并且很多,很多基础薄弱或者耐性不够的小伙伴很容易放弃。...() 这个是我们的 RxSwift 为了保持一致性的写法 self.asObservable().subscribe(observer)其实本质就是 self.subscribe(observer),通过可观察序列的继承关系...RxSwift的核心逻辑,最后这里附上我们的分析图解 总结:RxSwift的结构 1:就是序列感念 满世界都是序列 - 编码统一 ,随时随地享用 2:通过函数式思想吧一些列的需求操作下沉(把开发者不关心的东西封装...) - 优化代码,节省逻辑 3:RxSwift最典型的特色就是解决Swift这门静态语言的响应能力,利用随时间维度序列变化为轴线,用户订阅关心能随轴线一直保活,达到订阅一次,响应一直持续~

    1.2K31

    RxSwift + MJRefresh 打造自动处理刷新控件状态

    本文是基于 iOS - RxSwift 项目实战记录 所述,如果你还未阅读过,建议你最好还先阅读一遍,并下载Demo熟悉一下 : ) LXFBiliBili 前言 MVVM的模式中,多出了ViewModel...结合RxSwift架构,我们一般就会在ViewModel中定义一个input收集繁杂操作所需的信息,通过一个transform方法将input作为参数传入,进而得到一个output供controller...在使用RxSwift开发时会大量的使用到这种形式,其中就包括我们的网络请求。...结合 iOS - RxSwift 项目实战记录 中所述的“MJRefresh在RxSwift中的使用”,在output中定义了一个变量 let refreshStatus = Variable<LXFRefreshStatus...scrollView.mj_footer } } 在controller中遵循 Refreshable 协议,通过initRefreshHeader方法或者initRefreshFooter方法给tableView或者collectionView

    1.9K41

    MVVM+RxSwift

    前言 以前对MVVM的理解和运用觉得很浅薄,在项目中用处只是对ViewController减负 没有做数据与View的绑定,没有做到真正的数据驱动视图 没有体现出MVVM易于测试的好处 对于RxSwift...RxSwift有一定的了解和使用。...ViewModel 查阅了许多资料,不同人对ViewModel的实现有很多种,我这里总结了一下多数人也是我比较赞同的一种实现方法 将ViewModel理解为一个简单的黑盒子,它接受输入以产生输出,这里的输入和输出都是一个个序列...RxCocoa给UI框架提供了Rx支持,让我们能够使用按钮点击序列,这样我们就可以给ViewModel提供输入了,而RxDataSources能够帮助你简化书写 TabelView或 CollectionView...,对RxSwift要有一定的了解。

    1.5K20

    【iOS】仿知乎日报,RxSwift-Part1-首页搭建

    前言 之前的几篇博客算是入门篇,那么这篇就是RxSwift的实战篇。由于对RxSwift的认识还不够深刻,所以项目中没有使用MVVM模型,以及编程思想也还没转变过来。...该项目是参考https://github.com/kLike/ZhiHu-RxSwift实现的,最大的实现区别就是,我用的是纯代码实现,还有对网络请求的封装。...最后,还是非常感谢该作者源码的贡献~ 框架介绍 框架 说明 Moya 对Alamofire的封装 Moya/RxSwift 针对RxSwift的Moya扩展 Kingfisher 喵神的网络图片加载库...self.collectionView.visibleCells.forEach({ (cell) in let myCell = cell as!...使用Moya,可以优雅的封装Alamofire,而Moya/Rxswift可以将返回的结果转为Observable属性,进行监听。

    2.4K10

    【IOS开发基础系列】UICollectionView专题

    标准的UICollectionView包含三个部分,它们都是UIView的子类:     • Cells 用于展示内容的主体,对于不同的cell可以指定不同尺寸和不同的内容,这个稍后再说     • Supplementary...比如在contentView里加了一个normal和selected指定了不同图片的imageView,那么选中这个cell的同时这张图片也会从normal变成selected,而不需要额外的任何代码。...1.6 UICollectionViewLayout         这是UICollectionView和UITableView最大的不同。...需要注意根据滚动方向不同,header和footer的高和宽中只有一个会起作用。垂直滚动时section间宽度为该尺寸的高,而水平滚动时为宽度起作用,如图。     ...,而在cellForItemAtIndexPath方法中重复更新此实例的业务数据来达到显示不同Cell的目的。

    90530

    使用xib自定义UIcollectionViewCell控件为nil的问题

    其实这是一个很简单的过程,关键代码也就包括下面的两部分: //注册集合视图单元格 UINib *nib = [UINib nibWithNibName:@"MyCollectionCell"...bundle: [NSBundle mainBundle]]; [_collectionView registerNib:nib forCellWithReuseIdentifier:@"MyCollectionCellID..."]; //使用集合视图单元格 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath...forIndexPath:indexPath]; cell.dataDic = self.itemList[index]; return cell; } 但是问题是,在这些过程完成之后,自定义的单元格对象...回想一下编码的过程,我刚开始使用了autolayout,后来没有使用了,我想可能就是因为反复修改之后的编译缓存带来的问题。 唉,不得不说xocde的bug还是不少的,在这里记下这个坑,希望对大家有用。

    1.3K50

    iOS小经验:UITableView&UICollectionView设置单元格的默认选中状态

    场景需求 一个表格视图(或者宫格视图)中,当一个单元格被选中时设置彩色样式,选中其它单元格时设置灰色样式。 2. 一个思路 通过实现选中和非选择的代理,以在适当的时机进行UI更新操作。 3....: 上述代码强制设置某单元格选中或者不选中那一刻,都不会回调tableview的选中代理方法,也不会发出通知UITableViewSelectionDidChangeNotification。...UICollectionView 4.1 通过屏幕点击改变的选中状态回调给代理 //选中 - (void)collectionView:(UICollectionView *)collectionView...: 类似的,上述代码强制设置某单元格选中或者不选中那一刻,都不会回调选中代理方法,也不会发出通知。...cell的时候,UITableView并不会执行- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath

    3.6K50

    关于 RxSwift 的一点理解

    但是到底什么是 RxSwift, 这里有很好的定义: RxSwift 是由可被观察的事件的异步队列和可操作的功能性的运算符组成的库,并且他可以由调度者通过参数的方式进行调度...你将会从 RxSwift 中最基本的功能开始,然后循序渐进的由中级到高级。花一些时间去广泛的理解里面的概念,这样以来读完本书后你就会精通 RxSwift 额思想和使用。...如下图: 程序里面不同的部分不会阻塞彼此的执行,iOS 提供了几种 API,通过多核 CPU 来在不同的线程上进行不同的工作。...在内部也是异步的,所以很难去猜测整个程序的执行顺序,因此你的 APp 会因为一些外部的原因而表现不同,比如用户的输入不同、网络环境的不同、或者一些其他的东西。...用户每次在打开你的 APp 其实代码的执行顺序都是不同的 (当然除了一些自动化测试的场景,那些条件都是预先设置好的。)

    58240

    RxSwift介绍(三)——更加灵活的Subject

    前一篇文章讲述 RxSwift 框架中最重要的类 Observable ,但是其局限性只能作为被订阅者被动接收信号并响应事件。...在 RxSwift 框架中,提供了四种类型的 subject,首先要了解的一点就是提供的四种 subject 创建方式最主要的区别:当一个新的订阅者订阅到subject对象时,能否收到 subject...以前发出过的旧 event,如果能,接收的数量又有不同。...与 BehaviorSubject 不同的是,Variable还会把当前发出的值保存为自己的状态,同时在销毁时自动发送 .completed event,不需要也不能手动给 Variable 发送终结事件...貌似现在UI层的很多都是 Variable 来管理,但 RxSwift 也封装了很多关于UI的,issue的回复中说以后会销毁,注意是销毁 Variable 这个类。

    1.6K30

    WPF 已知问题 清空 CollectionView 的 SortDescriptions 可能抛出空异常

    本文记录一个 WPF 的已知问题,在通过 CollectionViewSource 获取到 CollectionView 之后,如果 CollectionViewSource 对象已被 GC 回收,将可能在调用...CollectionView 的 SortDescriptions 属性进行清空或者移除项时,也就是使用 SortDescriptionCollection 类型的清空或者移除项时,在 WPF 框架里面抛出空异常...对象,接着只获取存放此 CollectionViewSource 对象的 View 属性,此 View 属性就是 CollectionView 类型的一个对象,将 CollectionView 存放到字段里面...等待 CollectionViewSource 被回收之后,调用 CollectionView 的 SortDescriptions 属性进行清空 SortDescriptionCollection 的内容...= collectionViewSource.View; _collectionView = collectionView; collectionView.SortDescriptions.Add

    66120
    领券