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

Swift5 + MVVM + 文艺复兴微博(纯代码)

背景: 现在越来越多公司会尝试用 Swift 做 native 开发了,很多之前习惯用 Objective-C 开发,有新项目启动时候,也会想说用 Swift 试试。...而我们现在公司所做项目,也是用 Swift 开发,虽然说之前有些 OC 基础,写起 Swift 功能也是能实现,但是代码不是很优雅,不够 'Swift Style'。...SVProgressHUD 提醒功能 用到技术点 TableView高度缓存 SDWebImage圆角处理 FMDB数据缓存 OAuth授权 单张图片高度计算 Cell滚动自动加载更多 撰写页面的动画处理...Gif图片由于现在门户网站只能传 < 5M ,所以看上去毕竟模糊,实际效果会比 Gif 图片好得多,建议用真机跑一下试试~ 这版本来打算用本人拙劣英文写全篇注释,后来由于本人 Chinelish...使用第三方库 AFNetworking SDWebImage YYModel SnapKit FMDB pop HMPhotoViewerController 工具分享 图片素材获取: cartool

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

我常用iOS开源库

前言 OC库和Swift库相似功能很多 选择建议是:如果OC库在Swift中完全能用 就优先用OC库 原因是:Swift语言还是不太稳定 语言一更新 程序一大改 实在是太痛苦了 菜单相关 语言 项目名称...ObjectC SDWebImage 图片缓存与异步加载 ObjectC UIImage+ImageEffects 图片模糊效果 ObjectC TZImagePickerController 图片选择...转JSON Swift Alamofire-SwiftyJSON 方便以上两个组件结合使用 Swift ObjectMapper JSON与对象互转 Swift Transporter 文件下载 ObjectC...Autolayout Swift SnapKit Autolayout(Masonryswift版) 数据库 语言 项目名称 项目说明 ObjectC WHC_ModelSqliteKit Sqlite...库 ObjectC YTKKeyValueStore Sqlite为基础Key-Value存储 ObjectC FMDB Sqlite库 Swift SQLiteDB SQLite操作 弹出层 语言

2.6K54

iOS秋招总结 = 面经 + 闲言碎语 (不断更新)

然后秋招时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信…… 楼主iOS开发(已经属于小众团体了),主要用Swift语言(我就没发现有和我一样)。...如果让你来封装一个网络库,类似于Alamofire或者SDWebImage,你会如何实现?...为什么说Swift是面向协议语言?使用 Protocol 有什么好处 比较一下 Swift 和 Objective-C 在语言层面上安全性?...能讲一讲你对光栅化理解? 三面 对Swift和OC有什么看法? 能对Swif中可选类型谈下你理解? 说一下快排伪代码和时间复杂度? 怎么判断两个链表是否相交? 怎么反转二叉树?...如果有想看答案,或者觉得在这里格式不是很清晰,我自己也总结了大部分题答案放在Github 可能iOS同学不太多,希望对大家有点帮助吧~ 作者:Rickey王小吉 本文来源于牛客网

1.6K40

打造开源第一 iOS 图片浏览器 (支持视频)闲谈

这个问题笔者未找到完美的解决方案,看了一下“微博”图片浏览器貌似也是类似的实现方式,在横屏时候出场是立即触发,猜测可能是此刻将屏幕旋转回来。...SDWebImage 缓存方面的拓展性确实不能让人满意,也坚定了笔者替换掉它想法,在后面的版本中,考虑是用 YYWebImage 替换它,虽然 YYWebImage 很久不维护了,使用时候可能需要做一些源代码调整...,但是能逃脱 SDWebImage 魔爪这个成本还是可以接受。...十三、手势交互动技术细节 图片浏览器手势交互并非看起来那么简单,图片放大状态、UIScrollView 回弹和减速机制、嵌套 UIScrollView 手势冲突,这些都可能会导致一些难以控制情况出现...这样也同时解决了超清大图展示时候,在边缘拖动频繁触发手势交互动问题。

1.4K40

iOS系统架构及常用框架

CocoaAsyncSocket: 在iOS开发中使用Socket通信,一般都是用第三方库AsyncSocket SDWebImage:又一大网络大户, 网络图片获取及缓存处理。...Kingfisher:纯 Swift 实现SDWebImage 库,实现了异步下载和缓存图片。...YYWebImage:一个图片加载库,支持 APNG、WebP、GIF 播放,支持渐进式图片加载,更高性能缓存,更多图像处理方法,可以替代 SDWebImage 等开源库 网络聊天 XMPPFramework...ivars:指向成员变量列表指针。 methodLists:根据标志位不同可能指向不同,比如可能指向实例方法列表,或者指向类方法列表。...cache:因为Objective-C消息转发需要查找dispatch table甚至可能需要遍历继承体系,所以缓存最近使用方法。 protocols:类需要遵守协议。

7.1K21

iOS开发常用之网络、网页

图像获取 SDWebImage - SDWebImage网络图片获取及缓存处理 Kingfisher - 纯Swift实现SDWebImage库,实现了异步下载和缓存图片。...YYWebImage - 一个图片加载库YYWebImage,支持APNG,WebP,GIF播放,支持渐进式图片加载,更高性能缓存,更多图像处理方法,可以替代SDWebImage等开源库,相关文章。...类似的有:App annie类似功能。 WBWebViewConsole - 类似微博iPhone客户端“调试选项”?把它“内置浏览器网页调试”开源在Github上了。...使用这个库做起来非常简单,不用都不可能 - 将TAPromotee加入你podfile中,免费配置与享受更多下载吧。...支持添加可定制箭头,着重框,文本,模糊打码等常用快照编辑功能。它非常适合开发过程中测试人员反馈缺陷。

5.3K10

iOS强化 : Xcode多环境配置

考虑到 swift 混编情况下 我们在上面工程基础上看下混编要怎么设置(注意,视情况做出调整): 这里要注意,在添加宏一定要在前面加一个- ?...实际开发中,你面对可能不只是Debug& Release环境,可能有本地、测试服、正式服等等。因此个人建议,用不同Scheme区分开,是比较高效处理方式。...此时我们会发现,在TargetBuild Settings-Other Link Flags路面只有SDWebImage,如下: ? 这也就意味着,我们引入第三方库链接是失败。...:问题 2 解决办法,其实就在pod自己生成xcconfig里面,如果有兴趣可以先不自定义xcconfig,使用pod引入一个三方库,看看pod自动生成xcconfig是怎么写,然后对应Target..." 此时OTHER_LDFLAGS引入SDWebImage只会在Debug模式下,运行模拟器并且对应执行架构为x86_64时候,才会执行。

94130

iOS狗都不要,用这份面试真题,21天拿了4个大厂Offer

11、求两条链表相交第一个节点 12、runloop是用来做什么 13、GCD和NSOperation本质区别是什么 14、信号量、如果有两组任务执行,需要先执行某两组,再执行另外两组,有多少种方式...10、AFNWorking中3.0为什么取消了runloop时间监测 11、SDWebImage实现 12、n个阶梯,只能爬1级或2级,有多少种方法 13、bridge通信一个过程、RN通信过程...单例模式重写allocwithzoomzoom指的是什么 16、dispatch_once源码有了解过 17、isa指针有什么了解 18、数据持久化用是什么 19、http请求缓存字段有了解...__block是什么,它捕获是什么变量?为什么加了__block就能改变捕获变量值? 8、如果有两个任务需要先执行,再执行别的任务,你会怎么解决?具体参数是什么?...2、 swift和OC有什么区别 3、 多线程应用场景 4、两个异步任务如何去做同步?

1.4K20

浅谈iOS进阶路线

不说,只说两点: 1.确实觉得自己水平实力低于平均水平,明显想提升自己实力. 2.如果有"这些技能工作当中用不到,学来干嘛?"这种想法,并不适合阅读本文....,MJRefresh,YYKit,SDWebimage,SDAutoLayout,Masonry....SDWebImage缓存原理? YYKit针对于FPS是如何优化? SDAutoLayout和Masonry布局库原理有着怎么样区别,其原理是依据什么进行布局?谁效率更高一点....例如,客户端和服务器概念,SSH登录,以及各大有名APP是如何架构(推理一下). ---- iOS Swift Swift目前已经4.0了,个人感觉本人会在Swift5.0进行学习吧,虽然很多项目没有用到...工程规划能力 抗风险 成本 回报 总结 确实,作为一个开发工程师,应该去纵观整个工程,而不是仅仅局限于自己工作栈,否则不可能获得质提升.

2K120

自学iOS开发,从新手小白到高级工程师正确打开方式

这只是概括说,每一块都需要掌握很详细。 熟练使用类库并阅读类库源码,例如AFNetWorking、SDWebImage等(这俩是初学者必看)。同时自己也尝试造一些轮子。...4.能够熟练写一些框架,并对iOS开发有自己真知灼见(高级工程师) 因为个人比较菜,对这个阶段理解也比较浅。如果有什么错误地方,还请大神纠正。...本人学习swift是《Swift Programming Language》,学习Objective-C看是《Objective-C编程全解》。...例如写一个有关天气客户端或者其他。下面是我当初学时候写: 3.进阶 要想进入这个阶段,可能要比前两个阶段困难点了。前两个阶段只是看,思考东西并不多,基本看了就会,很多人都可以做到。...愿大家在iOS挖坑道路上越挖越深。。。如果有一天爬不出来了,希望不要来揍我。

1.7K80

iOS-将自己库支持CocoaPods

如果真的没有意愿自己翻译的话,那么尽量不要在网上找各种教程,因为教程很可能都过期了,包括我自己现在写。...如果你写swift项目,你项目里面一定要有一个.swift-version配置文件。...不知道里面该写什么东西,没关系,看大神(其实里面就写了一个swift版本3.0而已) 这部其实很关键,因为配置不好的话无法向下进行,而且网上查到都是乱七八糟,强烈建议以后类似的问题直接去GitHub...给项目打上 tag 版本并推送到 GitHub 在进行打tag之前,确保你已经把验证成功.podspec文件和.swift-version(如果是 swift 项目要有这个)以及资源文件等,commit...并push到GitHub CocoaPods是有版本管理,比如你搜索SDWebImage框架时候,结果应该有这句: pod 'SDWebImage', '~> 4.0.0' 所以你项目也必须要打上版本号

2.6K41

使用多个Target去管理项目版本环境

除了上述情况之外,有一些App还分为专业版与普通版,而专业版与普通版区别在于一些功能有无,对于这样需求,难道要专门去独立出来两个项目?...步骤二:更改Target名称 创建完Target以后你会发现名字后面有个copy字样,顿时觉得业余不行有没有?此时我们可以通过下面的方法进行名字修改。 ? ?...如果你使用Swift代码,其语法格式如下: #import "ViewController.h" @implementation ViewController - (void)viewDidLoad...Pod管理 相信很多时候,ios项目离不开pods框架管理,在使用cocopods管理时候,我们不要忘了将这些框架添加到对应Target中,否则,可能使用时候找不到对应框架,对于pod使用...platform :ios, '9.0' workspace 'TestTargetDemo' link_with 'TestTargetDemo', 'TestTargetDemoDev' pod 'SDWebImage

60160

携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结!

然后秋招时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信…… 楼主iOS开发,主要用Swift语言。下面上一些面经,希望能够对大家有那么一点点帮助。...如果让你来封装一个网络库,类似于Alamofire或者SDWebImage,你会如何实现?...为什么说Swift是面向协议语言?使用 Protocol 有什么好处? 比较一下 Swift 和 Objective-C 在语言层面上安全性?...能讲一讲你对光栅化理解? 三面 对Swift和OC有什么看法? 能对Swift可选类型谈下你理解? 说一下快排伪代码和时间复杂度? 怎么判断两个链表是否相交? 怎么反转二叉树?...了解元组? 了解多线程? 什么是并行? 现在有ABC三个任务,如何实现AB完成后再执行C? 对 Runtime 有什么了解? HTTP 和 HTTPS 有什么区别?

1.4K00
领券