iOS 8 概览
斯坦福公开课——Developing iOS8 Apps with Swift学习笔记
想学习Swift,但是相应的教程不是很多,在CoCoaChina社区闲逛时恰好发现了这门课程,就顺便看看,感觉不错,准备深入学习,上课怎么能没有笔记?打算写一系列笔记,记录自己的学习历程。
由于是从iTunes 中直接观看,不能外挂字幕,就靠着大学时差不多忘光了的英语猜着学,就当事练习英语了
对于老外讲的一些不重要的东西一律略过,只会记录一些板书,以及自己的理解
字幕已近在github中有这个项目了,
需要的话可以点击字幕 下载,但是由于该翻译项目还在进行中,不建议直接下载zip包,
建议git clone https://github.com/x140yu/Developing_iOS_8_Apps_With_Swift.git
以便随时跟新
别忘了给项目发起者一个Star哦
iOS包括什么?
iOS 是一个很庞大的系统,其中包含了很多部分,大致分为4个层次,
Core OS 基于Unix的操作系统,大量借鉴了Mac OS X 的内核,但也对移动设备做了相应的优化
osx Kernel
Mach 3.0
BSD
Sockets
Security
Power Management
Keychain Access 钥匙串访问
Certificates [管理] 证书
File System
Bonjour 苹果电脑公司的服务器搜索协议商标名
Core Service 通过OO访问底层硬件
Collections
Address Book
Networking
File Access
SQLite
Core Location
Net Service
Threading
Prefferences
URL Utilities
Media 媒体层
Croe Audio
OpenAL
Audio Mixing
Audio Recording
Video Playback
JPEG,PNG,TIFF
PDF
Quartz(2D)
Core Animation
OpenGL ES
Cocoa Touch 通过类似button,slider等类似控件,与用户交互
Multi-Touch
Core Motion
View Hierarchy
Localization
Controls
Alerts
Web View
Map Kit
Image Picker
Camera
Platform Components
Tools
XCode 6
Instruments
Language
- Swift
Framework
Foundation
Core Data
UIKit
Core Motion
Map Lit
Design Strategy
- MVC
Demo
Calculator
学习在XCode6中创建一个iOS项目
创建一个UI——托拉拽
使用iSO模拟器
println()方法的使用
利用
\()
,可以直接在""中放入表达式 ,利用这个特性,可以很方便的println一个对象的值var age : int= 18;
var sex : String = "boy";
//println("The " + sex +" is (age) years old");
println("The (sex) is (age) years old");
在Swift中创建一个类,实现指定的变量与方法
Swift中使用class 声明一个类,let定义常量,var定义变量, func定义方法
使代码与UI层连接起来
按下control,将UI界面中的Lable拖动至代码,定义好类型,就会使代码与UI层连接起来
Optional
在Swift中有一种类型叫做Optional,Optional只有两个值, nil——not set ,和有值,在Swift中有许多Optional类型的,如,在
var digit = sender.currentTitle
,可以查看digit的类型为String?
,就是说digit的类型为Optional的,如果有值,就可以将其转换为String类型的,转换的方式也很简单,直接在sender.currentTitle后加入!,即var digit = sender.currentTitle!
附:所有代码
//
// ViewController.swift
// Calculator
//
// Created by 张扬 on 15/5/24.
// Copyright (c) 2015年 张扬. All rights reserved.
//
//导包
import UIKit
//声明一个类 viewComtroller是类名,:后的是所需要继承的父类
class ViewController: UIViewController {
//成员变量display: 后是该变量的类型
//swift是强类型语言,在不指定类型的时候会根据上下文自动推断类型
@IBOutlet weak var display: UILabel!
var isFirstSilde:Bool = false;
//方法,func + 方法名 (参数 :参数类型) -> 返回值类型
//func retrunExample(stringExample : String) ->Int{
//};
@IBAction func appentDigit(sender: UIButton) {
//optional
//let 常量,一旦被赋值,在方法中就不会改变
let digit = sender.currentTitle!;
var age = 7;
var sex : String = "boy";
println("The " + sex + " is \(age)");
println("The \(sex) is \(age) years old")
//println("digit = \(digit)")
if isFirstSilde {
display.text = display.text! + digit;
}else{
display.text = digit;
isFirstSilde = true;
}
}
}