Developing iOS8 Apps with Swift——iOS8概览
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;
}
}
}
Developing iOS8 Apps with Swift——iOS8概览的更多相关文章
- iOS8发展~Swift(三)UI详细解释
一个.总结 使用Swift去完成iOS的UI接口,事实上,目前的想法和OC实现几乎一致,只是在措辞非常大的差异,修改前更更大的个人控制.为有纯代码强迫症,所以接下来创建一个纯代码动项目,然后在此基础上 ...
- iOS8开发~Swift(二)Playground
一.Playground介绍 Playground是Xcode6中自带的Swift代码开发环境.俗话说"功欲善其事,必先利其器".曾经在Xcode5中编写脚本代码.比如编写JS.其 ...
- Swift 语言概览 -自己在Xcode6 动手写1
原文:Swift 语言概览 -自己在Xcode6 动手写1 Swift是什么? Swift是苹果于WWDC 2014发布的编程语言,这里引用The Swift Programming Language ...
- Swift语言概览
Swift语言概览 关于 这篇文章简要介绍了苹果于WWDC 2014公布的编程语言--Swift. 前言 在这里我觉得有必要提一下Brec Victor的Invent ...
- 《Start Developing iOS Apps Today》摘抄
原文:<Start Developing iOS Apps Today> Review the Source Code 入口函数main.m #import <UIKit/UIKit ...
- iOS8开发~Swift(一)入门
一.概论及Swift介绍 iOS7刚公布多时候,苹果引入了JavaScriptCore.framework用来处理JavaScript,看到了能够接触其它编程语言的契机,使iOS程序猿不用吊死在OC这 ...
- iOS8开发~Swift(五)Swift与OC混编
一.概要 首先看<The Swift Programming Language>中提到"Swift's compatibility with Objective-C lets y ...
- 官方文档学习之《start developing iOS apps(swift)》
1. let 关键字是用来定义常量的,任何类型的常量都可以进行定义:例如:定义字符串 let constantValue1 = "this is a string",也可以定义数 ...
- Start Developing iOS Apps (Swift) 开始开发iOS应用(Swift)
http://www.cnblogs.com/tianjian/category/704953.html 构建基础的用户界面 Build a Basic UI http://www.cnblogs.c ...
随机推荐
- DevExpress中XtraGrid控件对GridView每行的颜色设置 zt
改变行颜色 private void GridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArg ...
- ZOJ --- 3516 Tree of Three
Tree of Three Time Limit: 2 Seconds Memory Limit: 65536 KB Now we have a tree and some queries ...
- web测试方面的知识
web测试 软件测试体系架构设计 一.体系架构 1.C/S:客户端+服务器端,如QQ.单机版记事本.office等,所用语言:VB.C++.C.C#.JAVA.PB.D…等数组语言,C和S都是自己测, ...
- JavaScript---网络编程(3)-Object、String、Array对象和prototype属性
本节学习JavaScript的对象和方法(函数)~ Object 对象 提供所有 JScript 对象通用的功能. obj = new Object([value]) 参数 obj 必选项.要赋值为 ...
- C中位域的使用
一.位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一 ...
- bzoj 1007 [HNOI2008]水平可见直线(单调栈)
1007: [HNOI2008]水平可见直线 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5120 Solved: 1899[Submit][Sta ...
- Does anyone successfully use USB drive in Windows7 guest?
Hi, Does anyone successfully use USB drive in Windows7 guest? If I pass a USB drive to Windows7 gues ...
- ORA-01502: 索引或这类索引的分区处于不可用状态
ORA-01502: 索引或这类索引的分区处于不可用状态 原因: 出现这个问题,可能有人move过表,或者disable 过索引.1. alter table xxxxxx move tablespa ...
- PowerShell自定义对象
前面的性能高 使用[pscustomobject][ordered]强制类型转换 [pscustomobject][ordered]@{Name= 'Boe'Number = 1ID = 007} 使 ...
- 【剑指Offer学习】【面试题40:数组中仅仅出现一次的数字】
题目:一个整型数组里除了两个数字之外.其它的数字都出现了两次,请敲代码找出这两个仅仅出现一次的数字. 要求时间复杂度是O(n),空间复杂度是O(1). 举例说明 比如输入数组{2, 4, 3, 6, ...