Swift入门
来源:互联网 发布:鬼吹灯怎么样 知乎 编辑:程序博客网 时间:2024/06/05 19:26
一、Swift与OC的区别
1、创建是选择Swift语言
2、Swift中不区分.h.m,统一到.swift中,既Swift中swift文件声明和实现不在分开创建
3、导入类名、框架:
不需要导入类名,所有的类名都是公开的可以直接访问到 。
直接导入框架的名字,例如:import UIKit
4、OC程序入口是main函数
Swift的程序入口:代码是从上往下执行,@UIApplicationMain是程序的主入口
5、class用来声明类
class后面是类名:冒号后面是父类,父类后面导入代理协议:在父类后面继续添加,写上代理协议的名字
例如:var window: UIWindow?:Swift声明一个变量(属性)
7、
变量常量的声明
var:声明一个变量
let:声明一个常量
声明公式
OC:数据类型名字 =值
Swift:var名字:数据类型 =值
let 名字:数据类型 =值
Switf:语句结束之后,可以不写分号,但是如果一行有多条语句,就必须添加分号
Switf:也支持中文作为变量名(支持中文的编码格式)
字符串可以通过+拼接
如果声明的对象是变量,但是并没有去改变这个变量的值,系统会提示,可以声明成常量
Xcode7.3(Swift2.2)之后 ++在Swift3中弃用,改成+=
Swift:自动推断数据类型,如果没有告诉变量的数据类型,会自动推断他的类型
Switf:不同的数据类型,不允许计算
数据类型转换,数据类型(要转换的变量)
如果声明变量的时候,不想在声明的时候去赋值,必须添加上变量的数据类型(因为没有推断的依据,推断不出数据类型)
Switf 中禁止不同数据类型进行计算
拼接字符串->直接使用+拼接
Swift代码,格式要特别工整
方法的定义和调用
fanc定义方法
OC写法
- (void)viewDidLoad{
}
swift写法
func viewDidLoad(){
}
oc:
- (void)viewDidAppear:(BOOL)animated{
}
swift
func viewDidAppear(animated: Bool) {
}
OC:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
swift:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
return true
}
区间:
闭合区间 区间
半闭合区间
1 2 3 4 5
全闭合区间1...5
1 2 3 4 (5)
半闭合区间1..5
在Swift中提倡使用区间
import UIKit
@UIApplicationMain
class AppDelegate:UIResponder, UIApplicationDelegate {
var window:UIWindow?
func application(application:UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
//声明一个变量
let名字:NSString ="明天,你好"
// 输出。拼接字符串
print((名字as String) +"蒲公英的约定")
// var age:Int = 18
// age = 18+10
// age+=1
// print(age)
let height =180
print(height)
let name ="九九"
print(name)
// 相同数据类型可以相加
// var age = 18.4
// age = age+0.6
// print(age)
let age =18
let yaerAge :Float =Float(age) + 0.5
print(yaerAge)
// Int(yaerAge)将float类型转换成int类型
//MARK:方法的调用
方法名字()
loadData()
无返回值大餐("你好")
print(有参有返回值("055346",参数2:" 8oijkm"))
print(sum(10, b:10))
// 调用UIVie里面的init
// Switf中调用其他类里面的方法,用.来调用
// 快捷创建一个对象:MyView() init
// 创建带有frame:MyView(frame: CGRectMake(0, 0, 300, 400))
/*
let view :MyView = MyView(frame: CGRectMake(0, 0, 300, 400))
view.backgroundColor = UIColor.redColor()
window!.addSubview(view)
*/
window =UIWindow.init(frame:UIScreen.mainScreen().bounds)
window?.backgroundColor =UIColor.yellowColor()
let rootVC:UITabBarController =UITabBarController.init()
let titles = ["识","听","我"]
// 数组初始化没有@
rootVC.viewControllers = [UINavigationController.init(rootViewController:LearnViewController()),UINavigationController.init(rootViewController:DrawViewController()),UINavigationController.init(rootViewController:UserViewController())]
// for (var i=0; i<rootVC.viewControllers?.count;i+= 1){
//
// }
/*
for (var i =0; i<rootVC.viewControllers?.count;i++){
let vc:UIViewController = rootVC.viewControllers![i]
vc.title = titles[i]
}
*/
/* int i = 0;
for UIViewController *vc in rootVC.viewControllers {
vc.titlt = titles[i];
i++;
}
*/
var i =0
for vcin rootVC.viewControllers! {
vc.title = titles[i]
i += 1
}
// 区间
// for i in 0 .. rootVC.viewControllers!.count{
//
//
//
//
// }
window?.rootViewController = rootVC
window?.makeKeyAndVisible()
returntrue
}
//MARK:-------创建一个无返回无参的函数----
func 方法名字 () {
print("无返回无参的函数")
}
func loadData () {
print("正在加载数据......")
}
// MARK:-----无返回值带参-----
func 无返回值大餐 (参数名:NSString) {
print(参数名)
}
// MARK:-----有参有返回值---
func 有参有返回值 (参数名:NSString,参数2:NSString) -> NSString{
return"返回值类型相同的数据"
}
func sum (a:Int,b:Int) ->Int{
return a + b
}
func 创建更控制器(){
//创建UITabBarController
let rootVC:UITabBarController =UITabBarController.init()
let titles = ["识","听","我"]
// 数组初始化没有@
rootVC.viewControllers = [UINavigationController.init()]
window?.rootViewController = rootVC
}
- 《Swift入门》关于Swift
- swift入门
- Swift入门
- Swift入门
- swift入门
- Swift入门
- Swift入门
- Swift入门
- Swift--入门
- Swift入门
- Swift入门
- Swift学习笔记--Swift入门
- Swift编程入门
- Swift语法入门
- swift开发入门
- swift入门之TableView
- Swift入门Hello, world
- swift入门- 协议
- 导入dmp文件,提示不是有效的导出文件,头部验证失败
- android的Services生命周期和使用方法
- 深度学习核心技术
- C++命名规范
- 简单的 winsock select模式
- Swift入门
- OC基础的总结1
- 反转一个字符串的算法
- C++——调用系统时间
- MapReduce读/写RCFile文件
- 第65课:SparkSQL下Parquet深入进阶学习笔记
- Android设计模式应用-代理模式
- Bound Services绑定服务
- [noi2005][treap]序列维护