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

iOS - RxSwift 项目实战记录

ReactiveX 最近刚刚把接手的OC项目搞定,经过深思熟虑后,本人决定下个项目起就使用Swift(学了这么久的Swift还没真正用到实际项目里。。。)...// Response分类,Moya请求完进行Json转模型或模型数组 ├── Model │ └── LXFModel.swift // 模型 ├── Protocol...│ └── LXFViewModelType.swift // 定义了模型协议 ├── Tool │ ├── LXFNetworkTool.swift // 封装Moya...HUD 敲黑板 Moya使用 Moya是基于Alamofire的网络请求库,这里我使用Moya/Swift,它在Moya的基础上添加了对RxSwift的接口支持。...有的话那从今天开始就要认清楚这一点,【tableView其实是由section组成的】,所以在使用RxDataSources的过程,即使你的setion只有一个,那你也得返回一个section的数组出去

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

moya + RxSwift 进行网络请求

1.关于moya 如在OC中使用AFNetworking一般,Swift我们用Alamofire来做网络库.而Moya在Alamofire的基础上又封装了一层: 官方说moya有以下特性(我也就信了...的使用非常简单,通过TargetType协议定义好每个target之后,就可以直接使用Moya开始发送网络请求了。...本身已经是一个使用起来非常方便,能够写出非常简洁优雅的代码的网络封装库,但是让Moya变得更加强大的原因之一还因为它对于Functional Reactive Programming的扩展,具体说就是对于...在底部自定义了简单的Error,继承了Swift 的 Error类,在实际应用过程可以根据需要提供自己想要的 Error。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.8K20

打造Moya便捷解析库,提供RxSwift拓展

一、概述 1、相信大家在使用Swift开发时,Moya是首选的网络工具,在模型解析这一块,Swift版模型解析的相关第三方库有很多,本人最习惯用的就是SwiftyJSON。...3、以下内容是基于大家会使用Moya和SwiftJSON的前提下所著,还不会的同学可以先简单了解后再来阅读本篇文章哦~ 二、功能开发与思想讲解 1、尝试模型解析 Moya请求服务器返回的数据以Response...A: 可以在协议声明一个初始化方法来创建对象。是的,我们在mapObject创建对应模型类型的对象,调用mapping方法来转换数据,再把模型对象传出去即可。...A: 额,这个~~~ 哦,对了,可以通过Moya提供的插件机制! 翻出Moya的Plugin.Swift,找到这个process方法,看看方法说明。...:项目中需要在某处使用特定接口,但是返回的json格式跟自己项目的不一样,并且只有这么一两处用得着该额外接口,那就需要我们这个参数了,以Block的方式返回解析参数类型。

1K30

RxSwift介绍(六)——网络请求

RxSwift框架对网络请求也是帮我们进行了封装,方便我们在实际应用快速使用,这次主要介绍下相关网络请求方法使用swift 环境下开发,网络请求框架最知名就是 Alamofire ,AFN...网络请求框架 swift 版本。...RxSwift框架,将 URLSession 进行了封装,在 URLSession+Rx.swift文件下,可以找到 RxSwift 为我们提供了四种方法 ?...RxSwift 框架自带的网络请求方法之外,通常在项目中大部分是使用 Alamofire 请求框架封装后专门用于提供给 RxSwift 框架的 Moya 。...基于 RxSwift + Moya + ObjectMapper 的综合使用,搭建 MVVM框架,推荐看下LiuXunFeng 博客的 RxSwift 项目实战,里面有许多值得学习的技巧

2.3K30

打造Moya便捷解析库,提供RxSwift拓展

一、概述 1、相信大家在使用Swift开发时,Moya是首选的网络工具,在模型解析这一块,Swift版模型解析的相关第三方库有很多,本人最习惯用的就是SwiftyJSON。...3、以下内容是基于大家会使用Moya和SwiftJSON的前提下所著,还不会的同学可以先简单了解后再来阅读本篇文章哦~ 二、功能开发与思想讲解 1、尝试模型解析 Moya请求服务器返回的数据以Response...A: 可以在协议声明一个初始化方法来创建对象。是的,我们在mapObject创建对应模型类型的对象,调用mapping方法来转换数据,再把模型对象传出去即可。...A: 额,这个~~~ 哦,对了,可以通过Moya提供的插件机制! 翻出Moya的Plugin.Swift,找到这个process方法,看看方法说明。...:项目中需要在某处使用特定接口,但是返回的json格式跟自己项目的不一样,并且只有这么一两处用得着该额外接口,那就需要我们这个参数了,以Block的方式返回解析参数类型。

1K111

Swift 掌控Moya的网络请求、数据解析与缓存

MoyaSwift开发起着重要的网络交互作用,但是还有不如之处,比如网络不可用时,返回的 Response 为 nil,这时还得去解析相应的 Error Codable 可以帮助我们快速的解析数据...,但是一旦声明的属性类型与json的不一致,将无法正常解析; 而且对于模型自定义属性名的处理也十分繁琐 解决的方案有很多,不过我比较习惯使用 MoyaMapper ,不仅可以解决上述问题,还提供了多种模型转换...详细的使用请查看手册 https://MoyaMapper.github.io 特点 支持json 转 Model 自动映射 与 自定义映射 无视 json 中值的类型,Model 属性声明的是什么类型...统一处理网络请求结果 在APP的实际使用过程,会遇到各种各样的网络请求结果,:服务器挂了、手机无网络,此时 Moya 返回的 Response 为 nil,这样我们就不得不去判断 Error。...其实与 Moya 自带的方法相比较只多了一个参数 cacheType: MMCache.CacheKeyType ,定义着缓存的 key ,默认为 default 下面是 MMCache.CacheKeyType

2.5K30

Carthage使用

使用 安装 使用brew安装,简单方便 brew install carthage 使用 在项目所在文件夹,即.xcodeproj所在的文件夹下,创建Cartfile touch Cartfile 然后打开...,注意依赖版本的指定,指定版本和指定范围的写法,如下: github "krzyzanowskim/CryptoSwift" ~> 1.4.0 github "evgenyneu/keychain-swift.../Moya" ~> 15.0 需要注意的是,Carthaget中有些SDK编译出来的是全部的,可以根据实际需要导入项目中,比如RxSwift和Moya。...use-xcframeworks --no-use-binaries 编译后生成的xcframework,导入到项目中,在项目General下的Frameworks, Libraries, and Embeded Content需要切换勾选...Embeded & Sign,如下: 如果使用了SwiftLint,编译后可能报错,在.swiftlint.yml添加Carthage的也不校验,如下: excluded: - Pods

18340

如何利用CocoaPods创建私有库

添加私有库容器 pod repo add 库名称 地址 查看添加的私有库容器 pod repo 创建代码库,并且clone代码到本地 在代码库创建一下文件 代码文件夹,单个仓库名.podspec 还有 .swift-version...文件 修改.swift-version信息 echo "5.0" > .swift-version 创建podspec文件模板 pod spec create 单个仓库名 Pod::Spec.new do...spec.dependency "RxCocoa", "~> 5" spec.dependency "Kingfisher", "~> 5.13.3" spec.dependency "Moya...tagname] 推送tag # 推送tag 提交到私有库上 pod repo push 仓库名 单个仓库名.podspec --allow-warnings 在~/.cocoapods/repos/仓库名可以查看仓库信息了...然后再操作第9步就可以了 The repo `仓库名` at `../.cocoapods/repos/仓库名` is not clean 验证 pod search 单个仓库名 # 如果成功会出现仓库信息 使用

1.2K30

Swift:一天学会,三天写项目

Swift入门 如果你是多年的OC开发。恭喜你!Swift易如反掌,几乎就跟喝水一样从OC过度Swift!真的太像了,编码思维一模模一样样! 如果你是OC不是很深入。那么恭喜你!...学习Swift你赚翻了!你不用克服一些多年养成诟病,简单的分号,NSLog ... 那么你学习Swift更加快速!...APP中加入自己的一些优化效果 在原版基础上适配iOS11及iPhone X 三方框架,感谢 SnapKit, SnapKitExtend, Then, Moya, Alamofire, HandyJSON..., UINavigation-SXFixSpace-Swif 修正导航栏按钮在iOS11的位置偏移问题 自定义的各种布局控件 二次封装的各种控件及布局框架等 各种基础类,三方类的扩展 Swift和...OC混合开发 架构清晰,框架方便初学者模仿学习使用 我们可以看到,项目是比较传统的4个大模块的类型 首页+分类+书架+我的 其中 首页会细分成推荐+vip+订阅+排行,但是这部分是固定的还是由服务端控制的

92720

Pods组件化手动集成第三方(swift

失踪人口回归 使用组件化也有一段时间了,碰到不少问题,但也算是给解决了,总结一下手动引入第三方组件的一些问题,个人是用Swift,OC的解决方式就没有实践过。....podspec 以 subspec 的方式 为主,主要包含微信、支付宝、微博、极光推送、友盟这几种 微信 微信需要引入 .a 和 .h 文件 .h文件使用 source_files .a文件使用vendored_libraries..., '2.2.0' subspec.dependency 'RxDataSources' , '3.1.0' subspec.dependency 'Moya...vendored_frameworks .h文件使用source_files 需要注意的是要将framework的.h文件都引入 # 支付宝模块 s.subspec 'AliPayManager...友盟目录 简单的说就是增加prepare_command 为swift创建modulemap 我这边集成的是友盟的facebook和微信 s.prepare_command = <<-EOF #

1.9K20

Swift 三天上手项目,学习经验总结!

很快就是周末了,希望你读完这篇博客之后这个周末的时间请留给:Swift Swift入门 如果你是多年的OC开发。恭喜你!Swift易如反掌,几乎就跟喝水一样从OC过度Swift!...学习Swift你赚翻了!你不用克服一些多年养成诟病,简单的分号,NSLog ... 那么你学习Swift更加快速!...中加入自己的一些优化效果 在原版基础上适配iOS11及iPhone X 三方框架,感谢 SnapKit, SnapKitExtend, Then, Moya, Alamofire, HandyJSON,..., UINavigation-SXFixSpace-Swift 修正导航栏按钮在iOS11的位置偏移问题 自定义的各种布局控件 二次封装的各种控件及布局框架等 各种基础类,三方类的扩展 Swift和OC...混合开发 架构清晰,框架方便初学者模仿学习使用 效果 我们可以看到,项目是比较传统的4个大模块的类型 首页+分类+书架+我的 其中 首页会细分成推荐+vip+订阅+排行,但是这部分是固定的还是由服务端控制的

89300

iOS系统架构及常用框架

HYBNetworking:基于AFN封装的网络库,可以通用,目前已经提供了通用的GET/POST、上传、下载API等。...CocoaAsyncSocket: 在iOS开发中使用Socket通信,一般都是用第三方库AsyncSocket SDWebImage:又一大网络大户, 网络图片获取及缓存处理。...Kingfisher:纯 Swift 实现的类 SDWebImage 库,实现了异步下载和缓存图片。...当引入此头文件后,便可以在程序里使用何在UIKit里声明的类 CoreGraphics 它是iOS的核心图形库,平时使用最频繁的point,size,rect等这些图形,都定义在这个框架,类名以CG...图文混排:简单来说,就是在富文本插入一个空白的占位符,通过相关代理计算图片的尺寸信息,更具富文本计算出来的frame设置对应图片位置,绘制图片

7.3K21

TensorFlow 智能移动项目:1~5

缺少的另一件事是缺少有关如何在基于 Swift 的 iOS 应用中使用 TensorFlow 的文档; 示例 TensorFlow iOS 应用都在 Objective-C ,它们调用了 TensorFlow...在下一章,我们将学习如何变得更聪明,如何识别图片中所有有趣的对象以及如何在智能手机上随时随地对其进行定位。 三、检测物体及其位置 对象检测比上一章讨论的图像分类迈出了一步。...在下一章,这是我们与计算机视觉相关的第三项任务,我们将仔细研究如何在 Python 和 TensorFlow 训练和构建有趣的深度学习模型,以及如何在 iOS 和 Android 应用中使用它来添加令人赞叹的图像艺术风格...此处使用的starry_night.jpg样式图片是梵高的一幅著名画作,如图 4.1 所示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNZjkACR-1681653027415...TensorFlow 手动构建的库,“以惊人的艺术样式迁移图片”的步骤 1 中所述。

4.4K20

使用 App Store Connect API 批量创建内购商品

而今年苹果在 WWDC22 宣布,2022 年 11 月开始,不再允许使用 XML 方式上传元数据和内购商品。...图片 “用户和访问” -> “密钥” -> “App Store Connect API” -> “生成 API 密钥” 图片 图片 注:访问权限: 根据密钥使用场景,访问的权限也不一样。...上传文件的流程,刚开始看文档没有看明白,最后又仔细查文档才找到 Uploading Assets to App Store Connect,以上传应用内购买的送审图片为例,Create an In-App...url 就是上传图片文件的请求 url,对应的 requestHeaders 也是组装 request 必备的 headers 属性,图片文件的大小要与 length 长度一致。...,使用 Xcode 的 Swift Package Manager 导入 https://github.com/AvdLee/appstoreconnect-swift-sdk.git 就可以使用

4.4K20

首款采用Kotlin语言编写的恶意APP现身Google Play商店

“用指尖改变世界” 趋势科技的安全研究人员在上周发现了一款名为“Swift Cleaner”的恶意应用程序,他们认为这可能是首款使用开源Kotlin编程语言开发的Android手机恶意软件。...:引用空指针; 可以利用JVM、Android和浏览器的现有库进行互操作; 兼容很多现有工具,因为它能够选择任何Java IDE或从命令行构建(Android Studio 3.0提供了帮助用户使用Kotlin...之后,将注入恶意的Javascript代码并替换正则表达式,这是一系列定义搜索模式的字符,将允许攻击者在特定的搜索字符串解析广告的HTML代码。...该博客文章进一步报告说,恶意软件可以将用户的服务提供商信息、登录信息和验证码图像上传到远程C&C服务器。...一旦上传,远程C&C服务器会使用该数据创建未经授权的高级SMS服务订阅,这很可能给受害者带来“防不胜防”的经济损失。 本文由黑客视界综合网络整理,图片源自网络;转载请注明“转自黑客视界”,并附上链接。

1.6K60
领券