Swift 与Object C 的比较

这篇博客对比了Swift和Objective-C的多个方面,包括没有头文件、类声明、变量定义、可选值的使用、字符串连接、构造器、类型转换、属性特性、属性监视器、扩展和便利构造器。Swift提供了更简洁的语法,如字符串插值和懒加载,而Objective-C则有更传统的初始化方式和分类功能。
摘要由CSDN通过智能技术生成

1.swift 没有.h文件,也就是头文件
2.swift对于类的声明是使用class关键字而不是interface
3.swift使用var定义变量,默认是不会自动给变量赋初始值的
4.swift中的问号,如,表示该变量的值是可选的,也就是说这个变量值可能为nil,也可能是一个具体的值。

var typeName:String?

5.那么对于这种声明时候带有问号(即声明为可选)的变量如何使用呢?
比如调用方法、属性、下标索引等前面需要加上一个?,问号的意思是询问是否响应后面这个方法,和原来的isResponseToSelector有些类似”

var strValue : String? 
let hashValue = strValue?.hashValue 

6.连接字符串和字符

字符串插值

pirntln()函数代替oc的NSLog函数, 可以 字符串和 变量或常量 直接输出
其中 输出的变量表示方式\(变量名) \()变量的占位符,括号里面放变量

var c = 10
println("c=\(c)")// \() 是占位符  c是变量名
//打印结果:
c=10
let mutiplier = 3
let message = "\(mutiplier) times 2.5 is \(Double(mutiplier) * 2.5)"
///message is "3 times 2.5 is 7.5"

字符连接

let string1 = "hello"
let character1: Charater = "!"
let stringPlusCharacter = string1 + character1  //输出"hello!"

7.构造器中
构造函数中如果有init函数,则会调用init函数进行初始化,没有则调用默认的init函数. 和oc比较已经不用[ [SurveyQuestion alloc] init]这种写法了
反而和c的写法相似了,只是在调用构造器的时候,参数要带上名字。

classSurveyQuestion {
    let text: String
    var response: String?init(text: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值