iOS開發(fā)中OC和swift的對比

1.import的類

OC:某個只要要使用某個類就要將該類import舶吗。

swift:如果是用戶自己創(chuàng)建類,其他類無需import可以直接使用花枫。pod的一些三方類和系統(tǒng)的一些類,在使用的時候需要import

2.遵守協(xié)議實現(xiàn)協(xié)議中的代理方法

OC:

image

swift:

image

3.函數(shù)的返回值放在了后面

4.函數(shù)的參數(shù)類型放在了參數(shù)名的后面

5.函數(shù)的所有參數(shù)放在了一個"()"里,并且有了一個參數(shù)標簽

看swift和OC的對比

image
image

枚舉:

OC中:

typedef NS_ENUM(NSInteger, OrderType) {
OrderTypeHasPay,    // 已經(jīng)支付
OrderTypeNoPay  // 沒有支付
};

  - (void)getOrderType:(OrderType)orderType{
if (orderType == OrderTypeHasPay) {
    NSLog(@"已經(jīng)支付...");
}else if (orderType == OrderTypeNoPay){
    NSLog(@"沒有支付...");
}
}

swift中:

enum OrderType {
case hasPay
case noPay
}

  func getOrderType(orderType:OrderType) -> Void {
    if orderType == OrderType.hasPay {
        print("已經(jīng)支付...")
    }else if orderType == OrderType.noPay{
        print("沒有支付...")
    }
}

6.swift中的閉包和OC中的block
OC中的block:

  void(^)(void)

swift中的閉包:

  ()->()
  @escaping()->()  // 當在另一個閉包中使用某個閉包山憨,某個閉包要使用@escaping修飾

6.1解決swift中的閉包引起的循環(huán)引用(使用weak)

  private lazy var titleView:SwiftPageTitleView = { [weak self] in
    let titles = ["推薦", "游戲", "娛樂", "趣玩"]
    let titleY:CGFloat = kStatusBarH + kNavigationBarH
    let titleView = SwiftPageTitleView.init(frame: CGRect(x: 0, y: titleY, width: kScreenWidth, height: titleH), titles: titles)
    titleView.deleate = self
    return titleView
}()

7.swift中的可選類型
8.swift中的基本運算

只有相同數(shù)據(jù)類型的數(shù)據(jù)才能進行運算(Int類型要想和Double類型數(shù)據(jù)運行,需要先將Int類型數(shù)據(jù)強轉成Double類型數(shù)據(jù))

9.swift中的guard
增強了可讀性

  guard age>18 else{ return }  // 如果條件不為真就不再往下執(zhí)行
  print("成年了...")

9.1.swift中的if
沒有了OC中的”非0即真"
10.swift中的switch
可以判斷多個條件
可以判斷多種類型
不用寫break了
11.swift中的區(qū)間

  0..<10  // 半開半閉區(qū)間
  0...9  // 閉區(qū)間

12.swift中的元組
取數(shù)據(jù)更加方便
取出之后就知道元素的類型了

  let info = (name:1, age:1, height:3)
  info.name

13.swift中的可選類型
swift是強類型語言弥喉。nil在swift中成了一種特殊類型郁竟,不能直接賦值給對象。只有可選類型才能賦值為nil

  var name:Optional<String> = nil
  var name:String?  // 簡便寫法

  name = Optional("a")
  name = "a"

  print(name!)  // 可選類型取值  !:強制解包
  // 可選綁定
  if tempName = name{  // 如果有值就進行解包
        print(tempName)
  }

13.swift中的類型轉化
as as? as!

  if (name = dict["name"] as? String){
        print(name)
  }
  let name1 = name as! String   // 確定能轉化成功之后使用as!

14.swift中的結構體

  stuct Location{
          var x:Double
          var y:Double
          func test(){print("111")}
          mutating func move(distance:Double){
                    self.x += distance
          }
        func init(x:String, y:String){  // 擴充構造函數(shù)
              self.x = Double(x) ?? 0  // 能解包就解包由境,不能解包就使用0
              self.y = Double(y) ?? 0
        }
    }

14.swift中的屬性
存儲屬性棚亩、計算屬性、類屬性

 var num1:Int = 1  // 存儲屬性
 var num2:Int = 2
  var num3:Int{  // 計算屬性
        retun num1 + num2
  }
static var name:String = ""  // 類屬性

本篇文章會持續(xù)更新虏杰,愿大家加班不多工資多讥蟆,男同胞都有女朋友,女同胞都有男朋友纺阔。??

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘸彤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笛钝,更是在濱河造成了極大的恐慌钧栖,老刑警劉巖低零,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拯杠,居然都是意外死亡掏婶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門潭陪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雄妥,“玉大人,你說我怎么就攤上這事依溯±涎幔” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵黎炉,是天一觀的道長枝秤。 經(jīng)常有香客問我,道長慷嗜,這世上最難降的妖魔是什么淀弹? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮庆械,結果婚禮上薇溃,老公的妹妹穿的比我還像新娘。我一直安慰自己缭乘,他們只是感情好沐序,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著堕绩,像睡著了一般策幼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奴紧,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天掸犬,我揣著相機與錄音雪猪,去河邊找鬼顽爹。 笑死泉手,一個胖子當著我的面吹牛铣口,可吹牛的內(nèi)容都是我干的滤钱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脑题,長吁一口氣:“原來是場噩夢啊……” “哼件缸!你這毒婦竟也來了?” 一聲冷哼從身側響起叔遂,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤他炊,失蹤者是張志新(化名)和其女友劉穎争剿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痊末,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蚕苇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凿叠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩笤。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖盒件,靈堂內(nèi)的尸體忽然破棺而出蹬碧,到底是詐尸還是另有隱情,我是刑警寧澤炒刁,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布恩沽,位于F島的核電站,受9級特大地震影響翔始,放射性物質(zhì)發(fā)生泄漏罗心。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一绽昏、第九天 我趴在偏房一處隱蔽的房頂上張望协屡。 院中可真熱鬧,春花似錦全谤、人聲如沸肤晓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽补憾。三九已至,卻和暖如春卷员,著一層夾襖步出監(jiān)牢的瞬間盈匾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工毕骡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留削饵,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓未巫,卻偏偏與公主長得像窿撬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子叙凡,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,103評論 1 32
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出劈伴,用來撰寫 OS X 和 iOS 應用程序 ...
    大L君閱讀 3,224評論 3 25
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,814評論 1 10
  • 沒有記錄,就沒有發(fā)生握爷。 【10.0踐行目標】 1. 每天靜心冥想或打坐跛璧、站樁一次严里; 2. 早睡早起 3. of每天...
    Wendy雯迪閱讀 200評論 0 0
  • 三十二 單說這個杰克率領著手下眾人,打車來到了廈門追城。他們既不坐飛機刹碾,也不坐火車,為的是避免與更多的人接觸座柱。在走的時...
    靜聞魚讀月槐花語閱讀 215評論 0 0