Swift使用注意

來源:互聯網
上載者:User

標籤:點擊   hup   pre   方法   計算   ret   protocol   點擊事件   nbsp   

一、私人

private修飾的屬性、方法、成員變數只能在本類中使用(完全私人)

fileprivate修飾的可以在extension中使用

 

二、取類型

取一個類的類型,oc中是[類 class],swift中 類.self

1 // UITabBarButton系統的私人類,不能直接使用2 // if value.isKind(of: UITabBarButton.self){3 if value.isKind(of: NSClassFromString("UITabBarButton")!){

 

三、extension中可以聲明計算屬性,但不能聲明儲存屬性,和oc中一樣

 1 // 對UIView的擴充 2 extension UIView{ 3      4     // 擴充計算屬性 5     var x:CGFloat{ 6         get{ 7             return frame.origin.x 8         } set{ 9             frame.origin.x = newValue10         }11     }12 }

 

四、按鈕添加點擊事件,oc用@,swift用#

button.addTarget(self, action: #selector(composeButtonAction), for: .touchUpInside)

 

五、代理

 1 // 1、定理代理協議,要繼承NSObjectProtocol,否則無法使用弱引用 2 protocol WBTabBarDelegate:NSObjectProtocol { 3     func didSelectedComposeButton() 4 } 5  6 // 2、聲明代理對象 7 // 使用weak關鍵字,協議必須要繼承NSObjectProtocol 8 weak var wbDelegate:WBTabBarDelegate? 9 10 // 3、執行代理方法11 // MARK: - 點擊事件12 func composeButtonAction(){13         // 執行閉包14         composeButtonClosure?()15         16         // 使用代理對象調用代理方法17         // ?表示判斷前面的對象是否為nil,如果為nil那麼後面的代碼就不執行了18         wbDelegate?.didSelectedComposeButton()19 }20 21 // 4、設定代理對象22 let wbTabBar = WBTabBar()23 // 設定代理對象24 wbTabBar.wbDelegate = self25 26 // 5、分類中實現代理方法(swift中,如果聲明了代理而不去實現代理方法,會報錯)27 // 使用extension可以實現代理方法28 extension WBMainVC:WBTabBarDelegate{29     func didSelectedComposeButton() {30         print("我是代理對象調用過來的")31     }32 }

 

Swift使用注意

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.