Swift 有哪些优秀的swift 使用第三方库库

每天看一遍
列一下用过或者名气很大的几个:Network:Alamofire:著名的AFNetworking网络基础库Swift版 - SwiftyJSON:最为开发者认可的JSON解析类 - Storage:SQLite.swift:简单、轻量,使用上最SQL的SQLite封装库 - SugarRecord:基于CoreData与REALM的好用封装 - UI:SweetAlert:带动画效果弹窗封装类
- RAMAnimatedTabBarController:灵动的动画标签栏类库 - PNChart-Swift:带动画效果的图表控件库 -
LTMorphingLabel:各种文字动画效果 - Cartography:用代码解决麻烦的AutoLayout -
iOS Dev / Game Dev个人常用iOS第三方库以及XCode插件介绍
招聘信息:
前言第三方库是现在的程序员离不开的东西 不光是APP开发 基本上所有的商业项目 都会或多或少的使用到第三方库Github上Star>100的开源库数量如下可以看到JS以绝对的优势排名第一 一定程度上也说明了JS在这几年为什么发展得这么迅速 不会点JS都不好意思说自己是码农 不过现在JS圈的造轮子浪潮也是愈演愈烈了 自己不写个框架都不好意思打招呼OC排名第四 相信这个排名还会上升 Swift暂时还挤不进前十 不过超过OC 也是指日可待(毕竟亲儿子)Xcode基本是Mac/iOS程序员的必备工具(AppCode我没用过 不知道有多少人用?) 但是能说有多好用..这就仁者见仁了(跟Visual Studio是没得比了) 不过在用了插件以后 倒也能让生产力提升一大截接下来我会介绍一些我本人常用的第三方库和插件 也许不多 但是一定是久经考验 用了一定不会错介绍第三方库CocoaPodCocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus) 每次对库进行更新 都可能会非常的痛苦CocoaPod的出现解决了这些问题 以Framework的方式引入第三方库 极大的节约了集成的时间 而且通吃Objective-C和Swift(Swift上的我没有实际用过 但是它的那种集成方式还是比CocoaPod麻烦点)iCarousel在iOS 4.x的时代(我也是从4.0开始接触iOS开发的) Coverflow的效果可谓是风靡一时 初出茅庐的我当年对如何实现几乎是束手无策(当年所有的电影资讯类的APP 如布丁爱生活等 都需要实现Coverflow选片的效果 碰巧我也要做一个) iCarousel的出现替我解决了一个大的难题从此iCarousel成为了我每个项目的必备良药(也是我最喜欢的库) 不管是Coverflow还是轮播广告 都能轻描淡写的搞定 其内置的十来种显示类型 基本可以解决90%的UI需求 而其强大的自定义功能 则可以解决剩余的10% :)不熟悉的朋友可以尝试一下其精美的demo(pod try iCarousel) 所有的功能都在demo中一览无余作者也是一个高产的大神 同时维护着数量众多且优质的开源库(比如 ) 大家不妨去看一看 淘一淘AFNetworking/AlamofireHTTP框架的龙头老大 当年在与的竞争中笑到了最后(当然也是因为ASIHTTPRequest的作者不维护了 不过国内很多公司 因为历史原因都在自行维护) 由于及时维护和拥抱语言的新特性 迅速被大家所接受和喜爱相信每个人都用过 这里就不赘述了MKNetworkKit如果说AFNetworking是老大 那么MKNetworkKit可以说是小弟了 不过也因为比AFNetworking轻量的原因 也获得了许多开发者的青睐当年因为ASIHTTPRequest停止维护了 在机缘巧合之下 我在AFNetworking和MKNetworkKit之间选择了后者 并在很多项目中进行了使用不过也许是因为AFNetworking发展得更快更迅速 而作者本人是单兵作战的原因 作者也基本放弃了更新(版本号在停留在0.8x) 十分可惜SDWebImage图片异步下载和缓存管理的集大成者 UITableView的黄金搭档 其代码被开发者研究分享过无数次的(可以说是Swift版的SDWebImage)也是深受其影响异步下载AFNetworking和MKNetworkKit都有实现 数据缓存也有与等 但是将其融会贯通的 唯有SDWebImage了除了简单的使用sd_setImageWithURL之外 SDImageCache也是可以独立使用的 功能也相当之强大ZXingObjC是Google出品的二维码扫描组件 原本是Java编写的 现在也有了各种语言的移植版 而ZXingObjC就是其中之一zxing支持各种主流的一维码二维码扫描 简单易用 小厂如果要实现二维码扫描这个功能 基本都会选择zxing不过iOS7已内置了二维码摄像头扫描 而iOS8也已内置了二维码静态图扫描 以后可能再也不需要用到ZXing了 :(MBProgressHUD简单易用且稳定的HUD组件 半透明黑底白字的风格也经久不衰 loading提示的最佳选择Masonry/SnapKit最好用的Autolayout手写库(也不错啦 但是还是用不惯) 帮助我轻易的跨越了Autolayout这道坎我也曾多次在中提到过关于Masonry的使用方法 如果还没有用过的朋友 不妨看一看popFacebook的工程师一直是神一般的存在 对开源社区的也是巨大的 极大的推动了各种变成语言的发展 比如之于PHP 之于JavaScript pop之于Objective-C等等不管是HipHop react Facebook的工程师总是抱着颠覆的态度来开源 pop也不例外 这点之前我也过 而以pop为基础的一发布就震惊整个APP届 在这点上pop也是厥功甚伟pop对自定义动画也支持得很好 我也以pop的自定义动画为基础写过ReactiveCocoa说起来惭愧 大名鼎鼎的RAC 我只使用了点皮毛(只拿来做输入验证了)暂时还没有进行深层次的使用 对RAC的理解也停留在表面阶段 不过介绍得非常详细 值得一看GPUImage如果你要做图像(照片或者视频)的相关处理 或者只是简单的想做个像Camera360一样的拍照滤镜 那么你一定要研究一下GPUImage如它的名字所述 GPUImage是基于GPU的图像处理框架 我们都知道 GPU是提升性能的关键 这也就是GPUImage如此重要 如此受欢迎的原因Lumberjacklog系统是每个项目都应该有的东西 而Lumberjack是log系统中的翘楚你可以简单的把它当成NSLog的替代品(简单来说 Lumberjack比NSLog速度更快) 或者根据你的需要来打造一个更强大的日志系统NSLogger从名字可以看出 NSLogger也是一个log系统 其特点是附带了一个功能强大的 可以让你方便的查看APP产生的日志(支持分级筛选等等 甚至可以直接log一张图片)AwesomeMenu当年横空出世的Path 其优美的设计 精彩的动画 不知让多少人嘴巴都合不拢 而最赞的 就是它的弹出菜单 一时成为了每个APP争相模仿的对象有了AwesomeMenu 你可以轻易的实现它MMDrawerController普通的侧滑菜单 用MMDrawerController就搞定了realm作为数据存储的一等公民 CoreData的地位不言而喻 不过也因为使用起来不够方便 才会出现这种辅助类 甚至这种基于纯sqlite的库而realm以挑战者的身份闪亮登场 不仅读取性能更快(据说数倍于CoraData) 接口简单易用(以对象的形式使用数据 这点和leancloud的思路很相似) 并且还跨平台(iOS/Android均可使用 OC/Swift/Java都支持)如果你习惯使用之类的Modal转换的话肯定能讨你欢心作为YCombinator的孵化项目 其质量还是能得以保证的 至少我试用下来 确实给我以很大的惊喜 不管是API的设计 还是数据对象的定义 就连数据库的版本升级 都非常的方便)Xcode插件Alcatraz与CocoaPod类似 Alcatraz是Xcode的插件管理器 能够让你方便的管理Xcode的插件(不仅可以管理插件 还可以管理主题等等)FuzzyAutocomplete如果只让我选一个插件留下 那必须是FuzzyAutocomplete 强大的模糊匹配输入 让你写代码的时候再也不用费脑子去记住名字那么长的对象或者函数名了 好用到让你想哭XAlign作为有洁癖的码农 看到不对齐的代码一定是不能忍的 XAlign可以轻松解决你的烦恼VVDocumenter-Xcode喵大的又一力作 能够识别当前函数的参数和返回类型 帮助你快速编写符合规范的注释(目前是以Javadoc为标准)deriveddata-exterminator如果你老是遇到Xcode抽风 提示你要因为某个原因要删除某个目录下的文件 否则编译不过 那你一定会被这个插件感动 因为说明了遇到这个事的人不只你一个Xcode-Quick-Localization多语言在iOS开发中一直不是很方便 有了它 你可以省不少事Backlight-for-XCode就如果Xcode默认的80个字的分页提示一样 高亮当前正在编辑的一行 也是一种友好的提示 喜不喜欢也就因人而异了小结以上的介绍 都是从我自身的使用经验触发的 可能大部分大家都用过了 而我也将会持续的更新这份列表 只要有优秀使用的东东 我都会添加进来
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
点击量17773点击量11235点击量6285点击量5788点击量5685点击量5319点击量5194点击量5087点击量4837
&2015 Chukong Technologies,Inc.
京公网安备89求助swift中引入github上第三方OC开源库
[问题点数:60分,结帖人Jeever]
求助swift中引入github上第三方OC开源库
[问题点数:60分,结帖人Jeever]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2015年4月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第三2015年3月 移动开发大版内专家分月排行榜第三2014年10月 移动开发大版内专家分月排行榜第三
2015年4月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第三2015年3月 移动开发大版内专家分月排行榜第三2014年10月 移动开发大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。o1.1K 阅读
1)我是个新手,我应该学Objective-C,Swift,还是两个都学?
如果你在一家iOS公司,或者是全职的iOS开发者,你应该都学。
如果是自由开发者,学习Swift应该就够了。
2)我做Objective-C开发很多年了,现在是不是个Swift新手?
既是又不是。你有很明显的优势,因为你对苹果平台原有的API都很熟悉了。在熟悉Swift语法之后,你应该能很快运用自如。
3)iOS 8 和 OS X Yosemite应用是不是只能用Swift?
不是。Swift可以无障碍与Objective-C交互,反之亦然。而且目前苹果还没有将Objective-C API和框架全部迁移至Swift,但在Swift代码中可以它们。
在这个迁移过程中,iOS和OS X还将继续依赖Objective-C。
4)Swift能在其他版本的iOS和OS X上跑吗?
是的。Xcode 6 可以为iOS 7和OS X 10.9以及更高版本编译Swift代码。苹果已经用Swift开发了WWDC应用,你可以在下载。但现在苹果不允许将以测试版Xcode生成的应用提交到App Store。所以你还得等Xcode 6的正式版出来,那时你就可以提交了。
5)Swift是要代替Objective-C吗?还是一个补充?
引用苹果:“Objective-C不会被代替,在开发Cocoa和Cocoa Touch方面,Swift和Objective-C都是一等公民。”?不过我们猜测苹果在未来会逐步把Objective-C抛弃,所以早点上船吧。
6)playground是什么东西?
playground是一个文件,你可以在里面写代码然后立刻看到结果。它对学习Swift、新的API、设计原型代码、开发算法等工作很有帮助。
7)怎样开始学习Swift?
网上已经有很好的资源:
Xcode里面自带了交互式的playground (Help\Documentation and API Reference\New Features in Xcode 6 Beta\Swift Language\The Swift Programming Language\A Swift Tour\Open Playground)
1)有没有Swift可以做到,但Objective-C做不到的?或者反过来?
是的。Swift是一门现代编程语言,引入了很多Objective-C不支持的东西。包括:命名空间(namspacing),可选类型(optionals),元组(tuples),泛型(generics),类型推断(type inference)等等。
Objective-C也有些特性Swift不具备,比如messaging nil
如果想要更多细节,你应该读一读苹果发布的
2)有没有Swift不能用的API?
在写下这个帖子时,我还没发现有。不过有一些Objective-C和Swift交互的细节需要注意:
当一个Objective-C的API返回一个id,Swift将接收到AnyObject
当一个Objective-C的API返回nil,Swift将接收到一个Optional,值为NONE,就是Swift用来代表nil的那个值。由于Swift变量必须有一个值,对于Objective-C API返回的值,它都会使用Optional枚举来存储,因为不知道返回值是否为nil。
当一个Objective-C API返回一个集合,它的类型将为AnyObject,因为Swift无法断定一个NSArray或NSDictionary存储了什么类型。根据你对API的了解,将此集合向下转换(downcast)是一个好习惯。对于一个返回NSString数组的Objective-C方法,由于你知道数组里一定是string类型,你像下面那样可以安全地转换:
let fruits : AnyObject[] = // some Objective-C API that returns NSArray of NSStrings for fruit in fruits as String[] { println(fruit) }
当一个Swift API返回一个元组(tuple),Objective-C将会接收到不到任何值。这是因为Objective-C根本不支持元组。下面的类型Objective-C都不支持
· 泛型(Generics)
· 元组(Tuples)
· 在Swift中定义的枚举(Enumerations)
· 在Swift中定义的结构体(Structures)
· 在Swift中定义的顶级函数(Top-level functions)
· 在Swift中定义的全局变量
· 在Swift中定义的类型别名(Typealiases)
· Swift风格的variadics
· 嵌套的类型
· 函数闭包
3)println()打印的结果在哪里?
你必须打开Assistant Editor才能看到控制台输出。
步骤是 View & Assistant Editor & Show Assistant Editor
或者是快捷键Option + Command + Return
4)怎样在playground中看到那些炫酷的值的图形?
你可以在playground里输出结果的图像,这对于图形化算法是很方便的。
在playground里面输入能够持续产生一些值的代码即可:
for x in 1..10 {
在侧边栏,你将看到类似于“9 times”的图形。把鼠标移上去,一个“+”按钮将会出现。点击这个按钮(确保你的Assistant Editor开着),你将会看到图形。
5)如何运行REPL?
在终端里使用以下Xcode 6命令行工具
sudo xcode-select -s /Applications/Xcode6-Beta.app/Contents/Developer/
然后运行以下命令
xcrun swift
如果想退出,输入:exit或者:quit。你也可以使用CTRL+D快捷键。
6)你能用Swift来调用自己的Objective-C代码或者第三方库吗?怎么做?
可以!当你在Xcode项目里添加第一个.swift文件时,它会提示你创建一个桥接头文件(bridging header file)。在那个头文件里你可以导入想要使用的Objective-C头文件。
然后,当所有需要的类都可以被Swift访问时,你就可以用与调用系统类相同的Swift语法来调用自己的Objective-C代码了。
7)数组只能存储相同类型的对象吗?如果我想要不同的类型呢?
在Swift中,你最好使用只包含同一种类型的强类型数组,语法类似:
var goodArray: String[] = [&foo&, &bar&]
虽然你可以创建包含不同类型对象的数组,但是在这样做之前,你最好问问自己为什么要这样做。在大多数情况下换一种实现方式更好。话虽这样说,方法还是告诉你,下面是用AnyObject来创建不同类型对象数组的方法:
var brokenArray: AnyObject[] = [&foo&, 1, 12.23, true]
8)上一个问题对于字典(dictionary)也是一样吗?字典也是强类型(strongly typed)的吗?
是的。但是你依然可以用AnyObject来实现。对于字典来说,值不是同一个类型是合理的。来看一个服务器的JSON响应的例子,用字典来表示:
var employee : Dictionary&String, AnyObject& = [&FirstName& : &Larry&, &LastName& : &Rodgers&, &Salary& : 65_000.00]
这个字典有两个String类型的键,一个Double类型的键。虽然这是可以实现的,但是有可能的话你最好是创建一等模型对象( first class model objects)来表示数据,而不是字典。
(以上为原帖大部分的摘编。原文较长,内容超级丰富,苹果系开发者必读。如果你还有其他补充,欢迎在评论中留言 )
请问学做ui设计师那么也想试试编程,只学Swift就可以把?
可能感兴趣的分类
24小时热门
关于伯乐头条
伯乐头条是目前 IT 互联网行业中,最热门的头条之一。我们专注IT互联网,为作者带来更多读者,为读者筛选优质内容。
为作者:仅收录原创内容的标题+摘要,阅读全文必须跳转到来源网站。据统计,被伯乐头条收录的单篇文章可以为来源站点带去几十到数千不等的 IP。
为读者:通过算法筛选有价值的内容,提升读者的阅读效率。
(加好友请注明来意)
头条使用问题
请在询问或者反馈
- 分享和发现有价值的内容与观点
- 为IT单身男女服务的征婚传播平台
- 优秀的工具资源导航
- 翻译传播优秀的外文文章
- 国内外的精选博客文章
- 专注iOS技术分享
- 专注Android技术分享
- JavaScript, HTML5, CSS
- 专注Java技术分享
- 专注Python技术分享
& 2015 伯乐在线
赞助云主机SwiftV课堂 - 中国最大的Swift视频学习站
1778个学员
3571个学员
1011个学员
7067个学员
5123个学员
5003个学员
4585个学员
4247个学员
4192个学员
3571个学员
3010个学员
2919个学员
卡的同学请到优酷观看:
Karel 的 Swift 2 实现在这里
想了解 Karel 更多?来 Github 下载我正在维护的最新版本 Karel 源文件吧!如果你喜欢它,就参与进来一起开发吧!
课程教案以及相关内容
将来课程的教案会放在下边的位置,还有课程大纲等,你可以点击跳转来了解更多内容。
QQ群在此!
十奶专属讨论组!
快来扯淡嘤嘤嘤嘤嘤~~~
QQ群号: “”
验证写 “十奶” 哟~~~~
提问和留言请在讨论区开帖
如果是针对知识点的问题,顺便加上课时名称就更好啦!
本讲座是基础课程的结课讲座,如果你没有听过我的基础课程,请移步学习之!
评价内容:不错
评价内容:讲的很详细,虽然说是节奏较快,但是知识点涵盖还是很全的,细节方面注意了很多,非常好。
评价内容:挺好的
评价内容:这个课程何止于不错,非常好!!!
评价内容:讲的很好,很用心啊,希望更多的开课。听了这么久,哎。。。 作为一个XXX的中国人,我还是把学费交了吧,要不心里有愧呢,哈哈。虽然不多,以后还是会支持你的 o(∩_∩)o
评价内容:初学者正需要这一类的基础课程

我要回帖

更多关于 swift 删除第三方库 的文章

 

随机推荐