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 ...
随机推荐
- (转载)Linux系统调用及用户编程接口(API)
(转载)http://www.farsight.com.cn/news/emb167.htm 1 Linux系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组 ...
- HDU 5952 Counting Cliques 【DFS+剪枝】 (2016ACM/ICPC亚洲区沈阳站)
Counting Cliques Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- Qt学习之路(1)------Qt常用类用法说明
Qt常用类 向控制台输出文本 第一个例子,我们采用STL的方式: console.cpp #include <iostream> int main() { std::cout <&l ...
- sublime中文乱码解决办法
欲解决问题,关键在于让Sublime Text 2支持GB2312和GBK.步骤如下: 1.安装Sublime Package Control. 在Sublime Text 2上用Ctrl+-打开控制 ...
- JAVA网络编程基础知识
网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...
- div border-radius画圆
不要指定border-width属性: <html> <style type="text/css"> div{ border-style: solid; b ...
- LCS算法
转自:http://hzzy-010.blog.163.com/blog/static/79692381200872024242126/ 好详细~~~也十分好理解~~~ 最长公共子序列问题(非连续的 ...
- Android中实现控件圆角边框
首先,在drawable文件夹下新建一个xml文件: <?xml version="1.0" encoding="utf-8"?> <shap ...
- 【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...
- CSS 最核心的几个概念
CSS 中最核心的几个概念,包括:盒模型.position.float等. 这些是 CSS 的基础,也是最常用的几个属性,它们之间看似独立却又相辅相成. 元素类型 HTML 的元素可以分为两种: 块级 ...