//// main.swift// Swift物件導向之枚舉//// Created by Goddog on 15/7/17.// Copyright © 2015年 Goddog. All rights reserved.//import
在項目裡面需要使用到定時器 這裡我百度了一下 用法和OC差不多 測試成功,也沒多少變化 下面上代碼。 // 定時器 private var timer:Timer! // 啟用計時器,控制每N秒執行一次getNetData方法 timer =
在使用swift中tabbarcontroller的時候,使用映射去添加。 Bundle擴充 import Foundationextension Bundle { // 計算型屬性類似於函數,沒有參數,有傳回值 var namespace: String { return infoDictionary?["CFBundleName"] as? String ?? "" }} tabbarController
延時載入或者說延時初始化是很常用的最佳化方法,在構建和產生新的對象的時候,記憶體配置會在運行時耗費不少時間,如果有一些對象的屬性和內容非常複雜的話,這個時間更是不可忽略。另外,有些情況下我們並不會立即用到一個對象的所有屬性,而預設情況下初始化時,那些在特定環境下不被使用的儲存屬性,也一樣要被初始化和賦值,也是一種浪費。在其他語言 (包括 Objective-C)
Swift中的final修飾符可以防止類(class)被繼承,還可以防止子類重寫父類的屬性、方法以及下標。需要注意的是,final修飾符只能用於類,不能修飾結構體(struct)和枚舉(enum),因為結構體和枚舉只能遵循協議(protocol)。雖然協議也可以遵循其他協議,但是它並不能重寫遵循的協議的任何成員,這就是結構體和枚舉不需要final修飾的原因。 final修飾符的幾點使用原則 final修飾符只能修飾類,表明該類不能被其他類繼承,也就是它沒資格當父類。
項目裡面的引導頁 三張輪播圖需要用到無線輪播 以前OC的用的是SDCycleScrollView 這裡使用混編,也是第一次用 踩坑 var cycleScrollView:SDCycleScrollView! let imgOne
今天在用Swift寫項目時,需要用CocoaPods引入SDWebImage這個三方庫,於是開始在Vim命令中建立pod file,在建立之前需要cd到當前項目的目錄中, Podfile建立步驟如下: 1、建立Podfile:touch Podfile 2、編輯Podfile檔案:vim Podfile 按 i 進入編輯狀態,編輯完成後按Esc退出編輯狀態,然後輸入:wq 返回, Podfile檔案的內容如下
播放器 對於資源的播放,你應使用AVPlayer類。你可以使用AVPlayerItem執行個體去管理整個資源的顯示狀態,使用AVPlayerIteamTrack類去管理單獨任務的顯示狀態。你可以使用AVPlayerLayer類進行顯示 播放資源
import UIKit class GalleryListViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { let refreshControl = UIRefreshControl() //下拉重新整理 @IBOutlet weak var collectionView: UICollectionView!
當前Swift 3.0中還沒有正式引入基本類型相對應的原子類型。而在macOS以及iOS下,我們可以用系統內建的OSAtomic API進行原子操作處理。但這組API只能在Apple自家平台上使用,我們無法在Linux/FreeBSD中使用,所以我這邊封裝了順應C11標準的一組原子類型與原子操作提供給Swift程式設計語言。
SnapKit: v.snp_makeConstraints { (make) in 由於Swift和oc文法不一樣 equalTo(self.view)是傳入參數 make.top.equalTo(self.view).offset(100)
首先看到swift擴充的時候,我就想起了OC的擴充和類別;於是我就在找swift的擴充和OC的擴充和類別是什麼關係。經過幾番查閱資料,發現swift的擴充和OC的類別是如出一轍。但是我又很一根筋地去尋找swift類似OC擴充的東西是什麼。但是我始終就是沒找到,於是我就靜下來想想,OC的擴充和分類的作用和區別是什麼。使用情境是什麼。所以,我們首先來看看OC的類別和擴充: 類別:可以動態為現有類添加新的方法 //介面檔案@interface
懶載入 懶載入的介紹 swift中也有懶載入的方式 (蘋果的設計思想:希望所有的對象在使用時才真正載入到記憶體中) 和OC不同的是swift有專門的關鍵字來實現懶載入 lazy關鍵字可以用於定義某一個屬性懶載入 懶載入的使用 格式 lazy var 變數: 類型 = { 建立變數代碼 }() 懶載入的使用 //
guard語句 guard語句和if語句有點類似,都是根據其關鍵字之後的運算式的布爾值決定下一步執行什麼。但與if語句不同的是,guard語句只會有一個代碼塊,不像if語句可以if else多個代碼塊。 那麼guard語句的作用到底是什麼呢。顧名思義,就是守護。guard語句判斷其後的運算式布爾值為false時,才會執行之後代碼塊裡的代碼,如果為true,則跳過整個guard語句,我們舉例來看看。 我們以今年高考為例,在進入考場時一般都會檢查身份證和准考證,我們寫這樣一個方法:
閉包 閉包:自包含的代碼塊,可以在代碼中被傳遞和使用,閉包可以捕獲和儲存其所在上下文任意常量和變數的引用 這就是所謂的閉包並包裹著這些常量和變數,俗稱閉包 閉包三種形式 1.全域函數是一個有名字但不會捕獲任何值得閉包 2.嵌套函數是一個有名字並且可以捕獲其封閉函數內值得閉包 3.閉包運算式是一個利用輕量級文法所寫的可以捕獲其內容相關的變數和常量的匿名閉包 sorted函數為例 public func sorted(by
字典是一種儲存多個相同類型的值的容器,就是索引值對,跟js中的json一樣吧。 Swift的字典使用Dictionary<Key,Value>定義,其中Key是字典中鍵的資料類型,Value是字典中對應於這些鍵所儲存值的資料類型。 注意:一個字典的Key類型必須遵循Hashable協議,就像前面我們提到的Set的值的類型,也要遵循Hashable協議。 建立一個空字典
UICountingLabel作為文字動畫的效果顯示,在OC上可謂是用的最多的,今天我們講一下在swift中的基本使用,包括swift3和swift4中如何使用UICountingLabel 想用UICountingLabel還是要先下載過來的 下載地址: https://github.com/dataxpress/UICountingLabel UICountingLabel只支援整形和浮點數樣式
對參考的文檔、文章表示感謝。 package org.apache.http.examples.conn;import java.io.File;import java.io.InputStream; import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.http.HttpHost;import org.apache.http.HttpResponse;import
標籤:儲存 死迴圈 person import private return obj set vat import UIKitclass Person: NSObject {
標籤:sel init epo http 數組 個數 code var 相關 面試題①給一個數組,要求用swift寫一個函數,交換數組中的兩個元素。