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概览的更多相关文章

  1. iOS8发展~Swift(三)UI详细解释

    一个.总结 使用Swift去完成iOS的UI接口,事实上,目前的想法和OC实现几乎一致,只是在措辞非常大的差异,修改前更更大的个人控制.为有纯代码强迫症,所以接下来创建一个纯代码动项目,然后在此基础上 ...

  2. iOS8开发~Swift(二)Playground

    一.Playground介绍 Playground是Xcode6中自带的Swift代码开发环境.俗话说"功欲善其事,必先利其器".曾经在Xcode5中编写脚本代码.比如编写JS.其 ...

  3. Swift 语言概览 -自己在Xcode6 动手写1

    原文:Swift 语言概览 -自己在Xcode6 动手写1 Swift是什么? Swift是苹果于WWDC 2014发布的编程语言,这里引用The Swift Programming Language ...

  4. Swift语言概览

                     Swift语言概览 关于 这篇文章简要介绍了苹果于WWDC 2014公布的编程语言--Swift. 前言 在这里我觉得有必要提一下Brec Victor的Invent ...

  5. 《Start Developing iOS Apps Today》摘抄

    原文:<Start Developing iOS Apps Today> Review the Source Code 入口函数main.m #import <UIKit/UIKit ...

  6. iOS8开发~Swift(一)入门

    一.概论及Swift介绍 iOS7刚公布多时候,苹果引入了JavaScriptCore.framework用来处理JavaScript,看到了能够接触其它编程语言的契机,使iOS程序猿不用吊死在OC这 ...

  7. iOS8开发~Swift(五)Swift与OC混编

    一.概要 首先看<The Swift Programming Language>中提到"Swift's compatibility with Objective-C lets y ...

  8. 官方文档学习之《start developing iOS apps(swift)》

    1.  let 关键字是用来定义常量的,任何类型的常量都可以进行定义:例如:定义字符串 let constantValue1 = "this is a string",也可以定义数 ...

  9. Start Developing iOS Apps (Swift) 开始开发iOS应用(Swift)

    http://www.cnblogs.com/tianjian/category/704953.html 构建基础的用户界面 Build a Basic UI http://www.cnblogs.c ...

随机推荐

  1. android 中对apache httpclient及httpurlconnection的选择

    在官方blog中,android工程师谈到了如何去选择apache client和httpurlconnection的问题: 原文见http://android-developers.blogspot ...

  2. Apache FileUpload详细介绍

    Apache FileUpload组件 在最初的 http 协议中,没有上传文件方面的功能.RFC1867("Form-based File Upload in HTML".)为 ...

  3. HDOJ/HDU 2565 放大的X(分段思考~)

    Problem Description 请你编程画一个放大的'X'. 如3*3的'X'应如下所示: X X XX X5*5的'X'如下所示:X X X X X X XX X Input 输入数据第一行 ...

  4. zabbix邮件告警

    Zabbix邮件告警看了很多文档,写的那叫一个蛋疼,明明没有发出去邮件,硬要糊弄观众,我也跟着被糊弄. 操作系统环境: CentOS 5.5 x84_64位 Zabbix版本2.2.3 Web服务器: ...

  5. 转载:monkeyrunner工具

    前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括 android测试框架.CTS.Monkey.Monkeyrunner.benchmark. ...

  6. (转)Spring整合Redis作为缓存

           采用Redis作为Web系统的缓存.用Spring的Cache整合Redis. 一.关于redis的相关xml文件的写法 <?xml version="1.0" ...

  7. linux下安装php的swoole扩展模块(安装后php加载不出来?)

    应开发同事要求,需要安装php的扩展模块swoole.swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,而是为了提升网站的开发效率,以最少的性能损耗,换取最大的开发效率. 假设服 ...

  8. 利用xshell从windows上传文件到虚拟机

    Xshell实现Windows上传文件到Linux主机 经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下:之前我 ...

  9. jsp+urlrewrite实现html分页简单粗暴实现

    今天去检查一同事写的一分页实现,看了有点郁闷,都说了要换成html实现方便搜索引擎收录,他还是用的js,真是晕.还得帮他解决 好吧.言归正传,我在他的基础上粗暴的修改了下,达到了基本的效果,带数字分页 ...

  10. 【JAVA - SSM】之MyBatis插入数据后获取自增主键

    很多时候,我们都需要在插入一条数据后回过头来获取到这条数据在数据表中的自增主键,便于后续操作.针对这个问题,有两种解决方案: (1)先插入,后查询.我们可以先插入一条数据,然后根据插入的数据的各个字段 ...