通過tableView學(xué)習(xí)Swift

這兩天剛學(xué)了點swift交汤,之前一直想把tableView理一下担扑,剛好有空恰响,順道一起來吧,為了自我學(xué)習(xí)同時回報社會涌献,這個就寫得基礎(chǔ)詳細些

1.創(chuàng)建

創(chuàng)建工程

從下圖可知胚宦,這是一篇啰嗦的博客

表忘了哦(加了點彎兒是不是有趣了很多呢)

基于啰嗦的初衷,全程代碼就不用Sb(storybord--故事板)拖控件了

為了搞清楚要干什么燕垃,先說說要干什么

1.我有個可以抓到數(shù)據(jù)的鏈接枢劝,這個鏈接里面有視頻等

2.點擊列表頁,進入播放卜壕,cell上有下載按鈕可以下載

3.暫時就上面兩點您旁,后面再補充吧,呵呵

純手工藝人??(刪除sb轴捎,vc)

刪除了storybord鹤盒、viewController蚕脏,注意要把info.plist中的main刪掉

接下來創(chuàng)建三個子類:
UINavigationController,UITableViewController,UIViewController

比我還小白的小白看看
我已經(jīng)后悔刪ViewController了????

接下來就是配置window,與oc中差不多代碼

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:  AnyObject]?) -> Bool {
    
    self.window = UIWindow.init(frame: UIScreen.mainScreen().bounds)
    self.window?.backgroundColor = UIColor.whiteColor()
    self.window?.makeKeyAndVisible()
    let tbVC = TableViewController()
    let naVC = NAVigationController.init(rootViewController: tbVC)
    self.window?.rootViewController = naVC;

    return true
}

看出來差別了么侦锯?驼鞭?少年?
此時已經(jīng)可以運行程序了尺碰,變白再變灰挣棕,似乎耗時略長,不知道是不是哪里寫的有問題??

2.配置tableViewController

override func viewDidLoad() {
    super.viewDidLoad()
    navigationController?.navigationBar.translucent = false//底部是否允許存在cell
    navigationController?.navigationBar.backgroundColor = UIColor.redColor()//此物位于導(dǎo)航欄底層
    navigationItem.title = "連自己都感到害怕的男人"http://額??
    
    let 題頭屬性 = [NSForegroundColorAttributeName:UIColor.whiteColor()]//白色字體葱蝗,其他屬性暫時沒研究好
    navigationController?.navigationBar.titleTextAttributes = 題頭屬性
    navigationController?.navigationBar.tintColor = UIColor.greenColor()//左右按鈕的顏色????
    navigationController?.navigationBar.barTintColor = UIColor.redColor()//設(shè)置導(dǎo)航欄背景色????  
}

總結(jié)下:
1.override 在繼承父類的函數(shù)前使用穴张,起聲明作用
2.Swift用?修飾值有可能為空的變量
3.let聲明常量
4.var聲明變量
5.函數(shù)/屬性 通過點語法調(diào)用
6.似乎推薦減少self的使用两曼,因此在不提示必須寫的情況下省略self
7.Bool類型只有兩種情況true/false 非0即真的情況不再適應(yīng)
8.差點忘了皂甘,Swift中類之間的調(diào)用無需引入頭文件(內(nèi)部集成PCH了?悼凑?偿枕?)

2.1 解析數(shù)據(jù),配置model類

第一步户辫,封裝數(shù)據(jù)請求渐夸,突然覺得好難,前文的小白步驟真是多余????
1.打開之前OC封裝的網(wǎng)絡(luò)請求類??參考
2.配置info.plist使其支持http請求

點擊 +
選擇第2??個 App transport...
在App transport...的下拉狀態(tài)點擊添加渔欢,并修改allow arbitrary..的NO為YES

ok,配置結(jié)束
3.新建網(wǎng)絡(luò)請求類
原文鏈接 以及 GitHub鏈接

下面來理一下網(wǎng)絡(luò)請求:
網(wǎng)絡(luò)請求是經(jīng)常用到的操作墓塌,因此有必要封裝起來
網(wǎng)絡(luò)請求有GET和POST兩種,GET因為安全性差用的相對較少

1.首先將接口網(wǎng)址字符串轉(zhuǎn)化為NSURL類型奥额,創(chuàng)建并設(shè)置請求(超時時間)

let url = NSURL(string: 網(wǎng)址)
let request = NSMutableURLRequest(URL: url!)
    request.timeoutInterval = 10

2.如果是POST請求需進一步配置請求(request)
為了數(shù)據(jù)安全苫幢,POST請求需要根據(jù)后臺提供的請求體字典,請求數(shù)據(jù)
“=”鏈接一個個鍵值對->xxx=yyy 然后將所有這些用&鏈接起來垫挨,模式如下
"key1=value1&key2=value2&........&keyn=valuen"
之后通過dataUsingEncoding(NSUTF8StringEncoding)方法轉(zhuǎn)化為進制流

request.HTTPBody = "key1=value1&key2=value2&........&keyn=valuen".dataUsingEncoding(NSUTF8StringEncoding)!//注意:此處需強解包韩肝。偽代碼

3.配置完成,接下來請求數(shù)據(jù)
根據(jù)請求創(chuàng)建并執(zhí)行Session請求任務(wù)

let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) -> Void in
        if let 成功返回Data = data {
            請求成功閉包(參數(shù): 成功返回Data)
        }
        if let 失敗返Error = error {
            請求失敗閉包(參數(shù): 失敗返Error)
        }
    }
    task.resume()

dataTaskWithRequest會內(nèi)部請求并通過閉包返回請求到的data九榔,response哀峻,error
解析該data可得到后臺提供的信息

let dic = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)

小結(jié):
1.Swift中可用漢字命名函數(shù)以及變量,在我的網(wǎng)絡(luò)請求封裝類可見(原文鏈接
2.可選綁定哲泊,即:if let a = 可選變量{ ..... }剩蟀。當可選變量不為空時,賦值并執(zhí)行語句塊
3.剛剛看到蘋果推出Swift Playground,意思是小孩兒用開發(fā)軟件切威,呵呵

3.創(chuàng)建Model類

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喻旷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子牢屋,更是在濱河造成了極大的恐慌且预,老刑警劉巖槽袄,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锋谐,居然都是意外死亡遍尺,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門涮拗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乾戏,“玉大人,你說我怎么就攤上這事三热」脑瘢” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵就漾,是天一觀的道長呐能。 經(jīng)常有香客問我,道長抑堡,這世上最難降的妖魔是什么摆出? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮首妖,結(jié)果婚禮上偎漫,老公的妹妹穿的比我還像新娘。我一直安慰自己有缆,他們只是感情好象踊,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著棚壁,像睡著了一般通危。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灌曙,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音节芥,去河邊找鬼在刺。 笑死,一個胖子當著我的面吹牛头镊,可吹牛的內(nèi)容都是我干的蚣驼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼相艇,長吁一口氣:“原來是場噩夢啊……” “哼颖杏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坛芽,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤留储,失蹤者是張志新(化名)和其女友劉穎翼抠,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體获讳,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡阴颖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了丐膝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片量愧。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖帅矗,靈堂內(nèi)的尸體忽然破棺而出偎肃,到底是詐尸還是另有隱情,我是刑警寧澤浑此,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布累颂,位于F島的核電站,受9級特大地震影響尤勋,放射性物質(zhì)發(fā)生泄漏喘落。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一最冰、第九天 我趴在偏房一處隱蔽的房頂上張望瘦棋。 院中可真熱鬧,春花似錦暖哨、人聲如沸赌朋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沛慢。三九已至,卻和暖如春达布,著一層夾襖步出監(jiān)牢的瞬間团甲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工黍聂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留躺苦,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓产还,卻偏偏與公主長得像匹厘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子脐区,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫愈诚、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,058評論 4 62
  • "空談?wù)`國 實干興邦"這句話大家都知道 ,但是真正能銘記的 或者說做到的卻不多炕柔。會實干能實干的人一定不會差酌泰。 S說...
    Fransis閱讀 248評論 0 0
  • 長老是我踏入大學(xué)見到的第一只貓。 那個時候汗唱,它還沒有消瘦宫莱,披著黃色貂皮大衣,端坐在寢室大門的臺階上閉目養(yǎng)神哩罪,微風(fēng)輕...
    寒路夜行人閱讀 526評論 19 19
  • 參數(shù) element 是 react 中的 t.refs.xxx 獲取到的節(jié)點對象授霸。
    麻辣小隔壁閱讀 3,077評論 0 0
  • hashable An object is hashable if it has a hash value whi...
    龐貝船長閱讀 244評論 0 0