对于想了解iOS开发见闻-第3期的读者,本文将是一篇不可错过的文章,我们将详细介绍ios开发,并且为您提供关于AI实战营第3期、iOS10即将来袭!升级你的iOS开发装备、IOS开发UI篇—iOS开发
对于想了解iOS开发见闻-第3期的读者,本文将是一篇不可错过的文章,我们将详细介绍ios 开发,并且为您提供关于AI实战营第3期、iOS 10即将来袭!升级你的iOS开发装备、IOS 开发UI篇—iOS开发中三种简单的动画设置、iOS 第三方库收藏以及相关iOS开发工具的有价值信息。
本文目录一览:iOS开发见闻-第3期(ios 开发)
iOS开发见闻-第3期
欢迎加QQ群讨论:157672725
转载请注明地址: http://www.voidcn.com/article/p-nlzrvben-bdo.html
文章
1.NSObject的load和initialize方法 : 三石·道 写的写篇关于load、initialize的方法,与别人的不同之处在于道明了原理。非常喜欢他那句“源码面前没有秘密”。
2.细说ReactiveCocoa的冷信号与热信号 :美团技术团队关于ReactiveCocoa信号的讲解,如果你喜欢用ReactiveCocoa,那么请不要错过。
3.一种头像缓存策略 : 许多 App 都有用户系统,不论是自己实现还是使用第三方,大概都需要显示用户的头像。该篇文章讲述了nixzhu的策略,能帮助我们了解缓存相关的知识。
工具
1.gh-unit : 一款测试框架,方便且功能强大。
2.fui : 还记得ctrl+shift+o吗?fui能帮我们找到没有用到的头文件,避免文件引用带来的问题。喜欢在Xcode直接用的朋友可以看这里
3.getpostman : 一个测试RESTful服务的工具。可以利用Chrome插件的形式把各种模拟用户HTTP请求的数据发送到服务器,帮助app开发人员测试接口。
开源
1.TheAmazingAudioEngine : 非常强大且使用简便的音频框架。
2.MWPhotoBrowser : 一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。
3.FLAnimatedImage : 如果你想像使用png一样使用gif,FLAnimatedImage是个不错的选择。
AI实战营第3期
本文作者:yunzhixueyuan
原文链接地址:https://developer.baidu.com/topic/show/290344
iOS 10即将来袭!升级你的iOS开发装备
WWDC(苹果开发者大会)刚刚过去不久,iOS 10将不久来袭,是时候升级你的iOS开发装备了!小编整理了10款必备开发工具,让你的开发过程事半功倍。
SourceTree
SourceTree是一个免费的Mac软件,主要用于Git和Mercurial版本控制。它可以帮助你进行源代码控制计划,跟传统的复杂的命令行版本控制软件相比,SourceTree是一款独一无二的GUI工具。对于新手Git用户来说,SourceTree使用起来简单且高效,对于经验丰富的app开发人员来说,SourceTree有着非常强大的功能。
Slash
Slash是iOS的一个开源库,它为NSAttributedStrings的样式添加了扩展标记语言,可以定义每个标签的意义,这使它非常具有可扩展性。
假如在不使用界面生成器的情况下,你要在app中使用带属性字符串,你就需要调整NSRanges和字体属性。在Slash的帮助下,你可以简单地在iOS开发中使用属性字符串,并且生成的代码更为干净和整洁。
APICloud
APICloud是一个移动应用开发平台,开发者使用平台技术,使用平台中成百上千个模块进行iOS App开发。使用APICloud平台最大的好处在于,整个开发过程变得便捷、快速,像是搭积木一样建立起自己的App,同时一套代码可以生成两个安装包,如此一来,Android版本的也顺手开发完成了。
MarkMan
MarkMan是一款iOS app开发必备高效的设计稿标注和测量软件,用于操作系统:Mac OS,Windows。
AppCode
AppCode是全新的Objective-C的IDE集成开发环境,旨在帮助开发者开发Mac OS X和iOS系统的相关应用程序。
AppCode主要功能:
代码补全:AppCode的代码补全并不局限于类、方法或者变量,它甚至还具备了十分可靠的上下文推测能力,假如开发者编写一个从未出现过的变量,AppCode都会询问是否要添加这个变量。这样开发者将有机会避免一些可能无意义的来回跳转,而更加专注于有效代码的编写。
代码检查和修改:AppCode的代码分析是实时进行的,在编写代码的过程中,开发者就能看到存在的问题。另外,AppCode提供了高度可定制的代码风格模版,并可以很简单地将其套用到任何代码上。这样,不论开发者写多少代码,最后产生的代码都是漂亮优雅的。
快速跳转:Xcode的最大问题就是难以定位文件和类,想要寻找一个文件的话,基本上不可能完全用键盘来实现。但是AppCode中添加了高效的导航功能,配合类似于微博的特定符号的搜索,可以完成从文件到类的快速跳转,避免了可能出现的鼠标操作,提高了开发者的工作效率。
Cornerstone
Mac上最佳的SVN管理iOS app开发必备工具,可用于的用于操作系统包括Mac OS。
Chocolat
Chocolat是Mac系统上最新出现的一款强大的文本编辑器,支持vim模式、多种编程语言、窗口分割、标签页、色彩主题等功能。另外Chocolat具有实时的代码检错功能,它可以在编写代码时检查代码的正确性(目前只支持Ruby、Python、PHP和JavaScript)。
Kinvey
Kinvey是一项跨平台的服务,有着多项功能,比如用户管理、业务逻辑、数据存储、推送通知、跨CDN大量文件存储、分析、自动化版本管理以及其他功能。不管是个人开发者还是企业级开发者,Kinvey都是一个强大的平台。
TestFlight
TestFlight是很多开发者都使用过的测试服务,包括反馈、实时崩溃提醒以及应用内可以引起特定评分的用户反馈提示。任何一项服务都会有瑕疵,TestFlight也不例外,它在管理测试用户提供的文件方面有点缺陷。前不久TestFlight推出了处于封闭测试中的新的移动分析服务FlightPath,FlightPath似乎要取代自家的TestFlight Live分析服务。TestFlight Live于2012年推出。TestFlight 现在已经支持 Android 平台app测试。
Countly
Countly为开发者提供了实时的、开源移动分析平台,通过可视化的方式将收集自手机用户的数据展现出来,从而给开发者可行的建议。开发者可以轻易地将Countly服务器端代码部署在自己的服务器上,并将开发工具包整合进自己的app中。目前,Countly分析系统有iOS 和 Android两种版本的开发包。如果你熟悉的Google Analytics和Flurry,那么Countly也可提供相同的功能。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
- iOS 10 Today Widget解析
- 针对iOS10新增Api的详细研究
- iOS10适配之权限Crash问题的完美解决方案
- iOS10添加本地推送(Local Notification)实例
- iOS10 推送最新特性研究
- iOS10推送教程详解
- iOS10推送通知开发教程
- iOS10全新推送功能实现代码
- iOS10 适配远程推送功能实现代码
- iOS开发之widget实现详解
IOS 开发UI篇—iOS开发中三种简单的动画设置
一、首尾式动画
// beginAnimations表示此后的代码要“参与到”动画中
[UIView beginAnimations:nil context:nil];
//设置动画时长
[UIView setAnimationDuration:2.0];
self.headImageView.bounds = rect;
// commitAnimations,将beginAnimation之后的所有动画提交并生成动画
[UIView commitAnimations];
说明:如果只是修改控件的属性,使用首尾式动画还是比较方便的,但是如果需要在动画完成后做后续处理,就不是那么方便了
二、block代码块动画
//简单的动画效果
[UIView animateWithDuration:2.0 animations:^{
showlab.alpha=0;
} completion:^(BOOL finished) {
[showlab removeFromSuperview];
}];
(1)在实际的开发中更常用的时block代码块来处理动画操作。
(2)块动画相对来说比较灵活,尤为重要的是能够将动画相关的代码编写在一起,便于代码的阅读和理解.
三、序列帧动画(以一个简单的TOM猫动画示例)
导入提前准备好的素材,对UIImageview和button按钮进行连线。
- (IBAction)eat {
NSMutableArray *arrayM=[NSMutableArray array];
for (int i=0; i<40; i++) {
[arrayM addObject:[UIImage imageNamed:[NSString stringWithFormat:@"eat_%02d.jpg",i]]];
}
//设置动画数组
[self.tom setAnimationImages:arrayM];
//设置动画播放次数
[self.tom setAnimationRepeatCount:1];
//设置动画播放时间
[self.tom setAnimationDuration:40*0.075];
//开始动画
[self.tom startAnimating];
}
点击按钮,即可执行动画,实现效果截图如下:
四、补充知识
1. Images.xcassets中的素材
(1)只支持png格式的图片
(2) 图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载
(3) 在编译时,Images.xcassets中的所有文件会被打包为Assets.car的文件
2. UIImageView的序列帧动画(需要考虑程序性能,释放数据)
// 0. 是否正在动画
[self.tom isAnimating];
// 1. 设置图片的数组
[self.tom setAnimationImages:arrayM];
// 2. 设置动画时长,默认每秒播放30张图片
[self.tom setAnimationDuration:arrayM.count * 0.075];
// 3. 设置动画重复次数,默认为0,无限循环
[self.tom setAnimationRepeatCount:1];
// 4. 开始动画
[self.tom startAnimating];
// 5. 动画播放完成后,清空动画数组
[self.tom performSelector:@selector(setAnimationImages:) withObject:nilafterDelay:self.tom.animationDuration];
3. UIImage imageNamed
(1)在图片使用完成后,不会直接被释放掉,具体释放时间由系统决定,适用于图片小,常用的图像处理
(2)如果要释放快速释放图片,可以使用[UIImage imageWithContentsOfFile:path]实例化图像
4. 方法重构的策略
(1) 将具有共性的代码复制到一个新的方法
(2)根据不同的调用情况,增加方法的参数
提示:在写程序时不要着急重构,有时候把代码先写出来,更容易看清楚如何重构才会更好
5. Bundle(包)中的图片素材
往项目中拖拽素材时,通常选择
(1) Destination: 勾选
(2) Folders:
1)选择第一项:黄色文件夹
注意点:Xcode中分文件夹,Bundle中所有所在都在同一个文件夹下,因此,不能出现文件重名的情况
特点:
a.可以直接使用[NSBundle mainBundle]作为资源路径,效率高!
b.可以使用[UIImage imageNamed:]加载图像
2)选择第二项:蓝色文件夹
注意点:Xcode中分文件夹,Bundle中同样分文件夹,因此,可以出现文件重名的情况
特点:
a.需要在[NSBundle mainBundle]的基础上拼接实际的路径,效率较差
b.不能使用[UIImage imageNamed:]加载图
ps:
http://www.cnblogs.com/wendingding/p/3751519.html
http://www.cnblogs.com/wendingding/p/3802830.html
iOS 第三方库收藏以及相关iOS开发工具
1.autolayout :Swift: SnapKit ,OC: Masonry
1.1.YYKit,YYKit 是一组庞大、功能丰富的 iOS 组件
1.2 MJExtension 以及 MJFresh
2.达到 60 FPS 的滚动帧率 :Swift :AsyncDisplayKit
3.swift加密库, 支持md5,sha1,sha224,sha256... CryptoSwift
4.Kingfisher 是一个异步下载和缓存图片的库 类似于SDWebImage只不过它是纯Swift的实现
5.Peek和Pop是iPhone 6S和6S+上新增的一个很棒的iOS特性,可以很方便地使用3D touch来预览内容。3DTouch动画组件 PeekPop
6.将Alamofire JSON响应数据 转为swift对象
7.RxAlamofire为Alamofire提供 函数响应式(FRP)调用接口,以优雅的方式使用Alamofire进行网络请求
8.PromiseKit异步编程类库 提供了很多实用的异步函数 让异步编程更简单
9.EZSwiftExtensions对Swift标准库, Foundation, UIKit 提供了很多高级扩展函数
10.Aspects swift面向切面编程(AOP)库 【Method Swizzling】
11.PermissionScope权限管理库 提供申请权限授权操作
12.Alamofire网络操作库 基本都知道
13.SwiftyJSON 可以配合Alamofire网络操作库一起使用的json解析库
14.RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发,维护。
RxSwift的目的是让让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进行响应式编程
16.ObjectMapper一个使用Swift写的口语轻松的将你的model转换为json 或者转为model (Class,struct)
17.Realm是一个移动数据库,可运行于手机、平板和可穿戴设备之上。可以让你的应用更快速,带来难以想象的体验。其目标是为了代替 CoreData 和 SQLite 数据库。更多进入官网。
强有力的查看数据库工具Realm browser。用于编辑查看数据
18.SwiftGen 根据图片的名字自动生成enum 防止图片不存在的情况
19.SCLAlertView 弹出框效果
20.开源项目:MMPopupView
21.众享丝滑的Pop手势:FDFullscreenPopGesture
22.Swift 的UITableviewcell UICollectionViewcell 的安全用法
代码崩溃信息收集工具 Crashlytics
iOS翻墙工具推荐蓝灯吧
专业的寻找图片用icons8
寻找CocoaPod上面第三方开源的库 Trending CocoaPods
也可以去Github上面寻找最多star的开源库
Swift语言指南
今天的关于iOS开发见闻-第3期和ios 开发的分享已经结束,谢谢您的关注,如果想了解更多关于AI实战营第3期、iOS 10即将来袭!升级你的iOS开发装备、IOS 开发UI篇—iOS开发中三种简单的动画设置、iOS 第三方库收藏以及相关iOS开发工具的相关知识,请在本站进行查询。
本文标签: