Swift2.2新特性
1、编译期Swift版本检测
1 |
|
它和Swift2中介绍过的#available
表达式不同,#available表达式是运行时检查,#if swift(>=3.0)... #else... #endif
是编译期检查。
一个警告:这个特性这次不可用,因为Swift2.1编译器并不知道#if swift(>=2.2)
意味着什么。然而,一旦Swift3.0以及未来所有版本可用,Swift编译期版本检查将会是一个非常有用的工具。
1 |
|
它和Swift2中介绍过的#available
表达式不同,#available表达式是运行时检查,#if swift(>=3.0)... #else... #endif
是编译期检查。
一个警告:这个特性这次不可用,因为Swift2.1编译器并不知道#if swift(>=2.2)
意味着什么。然而,一旦Swift3.0以及未来所有版本可用,Swift编译期版本检查将会是一个非常有用的工具。
1、 简述app启动周期。
打开应用程序,它先会执行main函数,再执行UIApplicationMain函数。初始化
UIApplication,设置代理对象,开启事件循环,调用代理方法进行事件处理。
首先会调用application:didFinishLaunchingWithOptions:代理方法。
1、简述你项目中常用的设计模式。它们有什么优缺点?
常用的设计模式有:代理、观察者、单例。
(1)单例:它是用来限制一个类只能创建一个对象。这个对象中的属性可以存储全局共享的数据。所有的类都能访问、设置此单例中的属性数据。
优点:是它只会创建一个对象容易供外界访问,节约性能。
1、安装Homebrew
打开终端输入:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Swift中是采用自动引用计数(ARC,AutomaticReferenceCounting)机制来对内存进行管理的。
每当你每创建一个新的对象,它便会分配一块内存来存储该对象的相关信息。当你不再需要这个对象的时候,它就会自动释放这个对象,避免它再占用内存空间。当然,如果该对象只要至少存在一个引用就不会被释放。另外,你如果访问了一个已经被释放的对象,则很有可能会出现崩溃(野指针)。
拿《The Swift Programming Language》里面的例子来套一下:
1 | //创建一个Cat类,自带常量name属性 |
1、文本(UILabel):
1 | let titleLabel = UILabel(frame: CGRectMake(0, 0, view.frame.size.width, view.frame.size.height)) |
特此声明:本文是通过网上收集整理加上自己亲自实验得来的。感谢所有网上分享的辛勤劳动者,本文仅供iOS学习使用。在学习的过程中,如果有问题或者不清楚的地方,欢迎留言,我们共同探讨互相学习。欢迎批评指正。
如需转载,请注明出处:http://blog.csdn.net/yangshebing21/article/details/43986913
开发环境:ffmpeg-2.5.4/Xcode6.1
请点击此链接http://ffmpeg.org/download.html
注:我的ffmpeg-2.5.4是解压放至Desktop的 1、安装yasm: