我没有ios开发经验, 略懂js/java/c#。比较object-c和swift, 决定看swift。学习步骤为swift语法→熟悉mac os,xcode→storyboard。
-
swift语法
- 流程控制、函数、类、继承、协议跟其它高级语言差不多。
- js/java/c#异常后面的代码不会执行,swift可选择中断或者继续执行。
- ARC会跟踪记录每一个实例正被多少属性、常量、变量引用,引用数为0则销毁实例,但强引用的循环引用不能释放内存。
java的垃圾回收的主要模式:只保留变量指向的实例,释放其它实例,就没有循环引用的问题。
uikit framework reference
提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面( UI )接口、应用程序对象、事件控制、绘图模型、窗口、视图和用于控制触摸屏等的接口。-
storyboard
在Xcode中,storyboard是一个可以让我们对应用界面进行可视化布局的工具,跟winForm、asp.net类似。- AppDelegate.swift是程序的入口文件, 注解
@UIApplicationMain
指定这个AppDelegate类为该模块的入口。使用storyboard时,必须继承UIResponder
,必须含有UIWindow
属性。
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool { // Override point for customization after application launch. return true }
- storyboard包含n个场景(视图控制器),场景可以跟
UIViewController
的子类绑定。 - 不同场景之间的切换叫转场(segue),有push(入栈转场)、modal(模态转场)、custom(自定义转场)几种方式。
- 转场传值通过sugue.sourceViewController。
- 布局。
- AppDelegate.swift是程序的入口文件, 注解