Swift基本语法以及与OC的比较

时间:2022-09-09 14:58:50

一、注释:

1、单行注释和OC一致。

2、块注释中有与OC不同点:可以嵌套注释

二、常量和变量:

1.常量:初始化后可读不可写 let

2.变量:初始化后可读可写 var

 //不需要指定类型,系统会自动判断。
let teacherName = "虎哥";//自动判断为字符串,句尾分号可写可不写
let teacherName1 = ;//自动判断为数字
let teacherAge =
//变量:初始化之后变量 (可读可写)
var teacherName2 = "虎哥"; teacherName2 = "虎哥最帅"
//teacherName2 = 25//编译失败---只能在同类型间赋值(初始化之后类型就已经固定) //print(teacherName2);
 //2.用  +  合并string , + 号前后类型需要一致

 var hu = huName + String (huAge)

 //print(hu);

 //3.占位符 OC:%@,%d...   S: \(xxx)

 let  huInfo2 = "虎哥\(huAge)岁"// = [NSString stringWithFormat@"虎哥%ld岁",huAge]

 //print(teacherInfo2)

 //4.指定类型,类型不会乱 .UInt 修饰的数据不能为负   ,int整数可以为负 //常量、变量名可以中文或者图标

 var nameLength :UInt = 

 var string :String = "hello swift"
 //5.数值型字面量
//十进制
let tenValue =
//二进制 let twoValue = 0b11010 //八进制 let eightValue = 0o32
//十六进制 let sixteenValue = 0x1A //print(tenValue,twoValue,eightValue,sixteenValue) //6.类型别名,类似OC中的tyPeDef typealias tongType = Int;//把 int --> tongType var tongAge1 : tongType = // var tongAge1:Int = 26 //7.bool值 OC:BOOL :YES/NO 0为NO,非零即为真 ---- Swift:Bool :true / false 没有0或非零概念 var boolVaue = true //8.元组 ,swift新类型 。把多个值绑定的复合值。元组中的值类型可以任意,不要求一致 var yuanzu:(Int ,String) = (,"hello") //访问元组中的值(类似OC类对象点相应属性)
//print(yuanzu.0) //9.可选类型。swift新类型。1.如果这个类型有值,就是该值 2.如果没有值 ,这个值就是nil //optionStr代表两种情况:1.?号后有值 等于把后值赋给optionStr 2.?后没有值,optionStr = nil 【作用:保护有些值缺失情况】 var optionStr :String? = "hello world"
//var optionStr :String? //访问可选类型。需要 拆包(强制解析),不能直接访问
//注意,强制类型之前,一定要确保可选类有值 //print(optionStr!) //10.断言。首先有一个条件,如果条件成立,代码继续运行,否则,代码执行结束 var age =
//var age = -10
assert(age > ,"年龄不可能为负")//用于调制程序 //-------三、运算符 ----
//1.一元运算符 :只需要一个变量即可完成的操作
// (1) ‘++‘ 、 ’!‘ 、’ -‘ var fuhaoNumber = -; var fuhaoNuner2 = -fuhaoNumber;
//print(fuhaoNumber,-fuhaoNumber); //(2). var addNumer = ; var addnumer2 = addNumer++; var addnumer3 = addNumer--; //print(addnumer2,addnumer3) //2.二元运算符 需要两个变量即可完成的操作
//数字的计算和C是一样的。可以用 + 拼接字符串 //print("hello" + "swfit") //3.符合运算符 += ... var a = ;
a += //print("a等于\(a)") //4.swift 新增: 区间运算符 (只有两种情况) //1...5闭区间运算符,代表[1,5],包含1和5
for tempNUmber in ...{
//遍历 1 -- 5
// print(tempNUmber)
} //
//for tempNumber2 in 1..<5{//[1,5)
//
// print(tempNumber2)
//
//} //5.空盒运算符(??)注意:空盒运算符,前后类型一致
//适用范围:
//主要结合可选类型使用 。如果是非可选,那么空盒运算符后边的语句就短路掉了 //空盒运算符,会先判断前边的可选类型有没有值,如果为空。就会返回后边的值。反之,就会对类型进项强制解析,取出可选类型的值 //var kongheyuansuanfu :Int?
var kongheyuansuanfu :Int? =
var kongheValue = kongheyuansuanfu ?? //print(kongheValue) //---四。字符串 和字符 //NSString /NSMutableString //let / var //1.创建字符串 带默认值 var stringValue = "class39" stringValue = "NBClass 39" //创建空字符串 var stringValue1 = "" var stringValue2 = String()//推荐使用 //判断字符串是否为空 //if stringValue2.isEmpty {
//// print("isEmpty");
//
//} //2.说明字符串是值类型 string 1 和string 2 分为存储在不同地址 同OC var string1 = "class39"
var string2 = string1; string1 = "NB" //print(string1);
//print(string2) //OC 字符串调用
var OCstring1 = NSMutableString(string: "tongli"); var OCstring2 = OCstring1; //OCstring1.appendString("hahha") //print(OCstring1,OCstring2); //但是如果把不可变字符串变换为可变,发生不同情况
/*
NSMutableString *str1 = [NSMutableString stringWithString:@"123"]; NSString *str2 = str1; [str1 appendString:@"123"]; NSLog(@"str1 -- %@",str1);
NSLog(@"str2 -- %@",str2); */ //3.字符串的长度 //字符 characters ,
//
//var stringLength = "hello"
//
//stringLength.characters
//
//
//var str111 = "dog is

Swift基本语法以及与OC的比较的更多相关文章

  1. Swift基本语法及与OC比较之二

    //MARK:-----------------控制流----------------- //MARK: 1.for - in 循环 ,不用声明Value类型 //for value in 1...6 ...

  2. Swift基础语法(三)

    Array数组在swift中Array相当于oc中的NSMutableArray(变长数组) //1.定义数组 var numarr:Int[] = [,,,,]; var strarr:String ...

  3. 【原】iOS学习之Swift之语法2&lpar;精简版&rpar;

    1.可选类型和强制解包(?和!) 1> 可选类型(?)和强制解包(!) 在swift中,可选类型(?) 其根源是一个 枚举型,里面有 None 和 Some 两种类型.其实所谓的 nil 就是 ...

  4. iOS - Swift 基本语法

    前言 Swift 全面支持 Unicode 符号. Swift 中的定义和实现是在同一个单元中的,通常一个 Swift 源代码单文件是以 ".Swift" 结尾的. Swift 不 ...

  5. Swift 基本语法2

    一.?和! 1.可选类型: ? 在swift中,可选类型(?)其根源是一个枚举型,里面有None和Some两种类型.其实所谓的nil就是Optional.None, 非nil就是Optional.So ...

  6. Swift基本语法学习笔记

    Swift与OC的不同点 导入框架的方式 OC使用#import \<UIKit/UIKit.h> Swift使用import UIKit 定义标识符的方式 Swift中定义标识符,必须指 ...

  7. Swift开发语法

    Swift开发入门 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 2014 年,在 Apple WWDC 发布 历史 2010 年 7 月,苹果开发者 ...

  8. Swift基础语法

    简介 特点 (1)优于OC,快速,安全 (2)取消了预编译指令包括宏定义(OC用的太多了) (3)取消了OC指针和不安全访问的使用(看不到星星了) (4)舍弃 Objective-C 早期应用 Sma ...

  9. Swift 开发语法

    文/Tuberose(简书作者)原文链接:http://www.jianshu.com/p/5e2d4c34f18e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 简介 Swift 语 ...

随机推荐

  1. &lbrack;DUBBO&rsqb;Dubbo控制台查看方法

    1.dubbo控制台安装方法网上较多,例如转载http://dtbuluo.com/blog/archives/37 2.dubbo控制台查看 由于我们组是开发安装的dubbo.zookeeper等等 ...

  2. Oracle使用小记

    windows下Oracle必须要启动的服务 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service ...

  3. ASP&period;NET Session的七点认识

    原文:http://kb.cnblogs.com/page/108689/ ASP.NET Session的使用当中我们会遇到很多的问题,那么这里我们来谈下经常出现的一些常用ASP.NET Sessi ...

  4. SVN常见问题处理

    1.SVN 提交时报错:Path is not a working copy directory   (1)报这个错通常是因为这个文件夹或其上层文件夹不是checkout或update出来的. 使用S ...

  5. 对React的理解

    转自:http://www.cocoachina.com/webapp/20150721/12692.html 现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了R ...

  6. 武汉科技大学ACM :1001&colon; 零起点学算法34——继续求多项式

    Problem Description 输入1个正整数n, 计算1+(1+2)+(1+2+3)+...+(1+2+3+...+n) Input 输入正整数n(多组数据) Output 输出1+(1+2 ...

  7. Oracle 最简单的随系统自己主动启动

    Oracle 最简单的随系统自己主动启动 俗话说用户是上帝,他们有时候提出一个问题很的简单,就仅仅须要一句话,一分钟就完事了.可是拿到我们DBA来说,可能至少得半个小时甚至半个月才干满足他的一句话.有 ...

  8. linux proxy

    ALL_PROXY=socks://192.168.2.1:3128/ HTTPS_PROXY=https://192.168.2.1:3128/HTTP_PROXY=http://192.168.2 ...

  9. 强大的Resharp插件(转)

    使用VS有段时间了,一直深深的折服于其强大的功能.之前一直听说有Resharp这个工具,小猪一直也没有太在意.直到今天…… 下载安装: http://www.jetbrains.com/resharp ...

  10. 【18】观察者模式(Observer Pattern)

    一.引言 在现实生活中,处处可见观察者模式.例如,微信中的订阅号,订阅博客和QQ微博中关注好友,这些都属于观察者模式的应用.在这一章将分享我对观察者模式的理解,废话不多说了,直接进入今天的主题. 二. ...