美文网首页
Swift—Tips—01

Swift—Tips—01

作者: 浮桥小麦 | 来源:发表于2017-03-10 17:21 被阅读18次
    swift.png

    前言:其实很早就开始接触swift,当时只是觉得这个语法怎么有点奇特,也让代码简单了些。 但是由于各种各样的原因,好久没接触了,当初学得基础语法也抛在云端了。 今天决定拾起swift,从40个小tips开始(很早以前下载的demo集,没有作者了,只能说声感谢了前辈) --这个系列文章不是教你写demo的,只是我写demo中觉得自己不熟悉的知识点保存下来,方便以后查找(这是我风格了,太健忘了)

    // MARK:- 01 让代码穿上衣服
    #不知道刚从OC过渡到Swift的朋友,第一次看见一长串的Swift代码时,是不是觉得每个方法就像没穿衣服一样,赤裸裸的,也什么逻辑
    我们可以这样做—比如tableView的代理和数据源方法,我们可以单独写个分类出来
    // MARK:- tableView -- dataSource
    extension ViewController {
        
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return 10
        }
        
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
     }
      
        //返回高度
        func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
            return 100
        }
    }
    
    
    
    // MARK:- 02 打印拼接
    #这里只说一种情况—我学习Swift的策略是,了解基础语法后,就模仿简单demo的实现,有不懂的就直接百度或者是Google
     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
             //打印得注意了
            print("点击了\(indexPath.row)行cell")
         }
    
    
    // MARK:- 03 tableViewCell的创建
    #代码创建,并且没有注册cell的情况下,用
    dequeueReusableCell(withIdentifier identifier: String) -> UITableViewCell?
    # 如果已经注册了,或者用的xib,就使用
    dequeueReusableCell(withIdentifier identifier: String, for indexPath: IndexPath) -> UITableViewCell
    
    
    
    // MARK:- 04 空合运算符
    #简介:
    空合运算符(a ?? b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b.这个运算符有两个条件:
    表达式a必须是Optional类型
    默认值b的类型必须要和a存储值的类型保持一致
    
    #运用:
    我们创建cell可以直接这样写和下面是一样的效果
    let cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) ?? UITableViewCell(style: .subtitle, reuseIdentifier: reuseIdentifier)
    
    /*****************************************************/
      var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier)
            if cell == nil {
                cell = UITableViewCell(style: .subtitle, reuseIdentifier: reuseIdentifier)
            }
            
    
    
    
    
    
    
    
    // MARK:- 05 导入字体的步骤
    1.下载ttf文件,加入项目中
     2.在info.plist中,添加一个字段:Fonts provided by application—将字体名字添加到item里面
    3.然后就可以通过名字使用了
    
    // MARK:- 06 颜色设置快捷键
    button.backgroundColor = #colorLiteral(red: 0.8549019694, green: 0.250980407, blue: 0.4784313738, alpha: 1)
    #这上面这个是从代码中直接复制过来的,设置颜色时直接
    button.backgroundColor = colcor 按回车有彩蛋哦
    
    // MARK:- 07 guard守卫语法
    #在Tips-03小项目中,我们从本地加载一个文件
    let path = Bundle.main.path(forResource: "emoji zone", ofType: "mp4”)
    #我们加载了这个文件,可以进行一个判断,我们是否将文件名写正确呢,先看以前的做法 if 判断
    if path == nil {
                print("没有该文件!")
              return
           }
    #看着也很简单是吧,为什么还要用guard呢(这个自己查查吧)
    guard path != nil else {
                print("没有该文件!")
                return
            }
    #判断path为不为空,不为空,执行guard下面的代码,为空,就执行else中的代码
    
    // MARK:- 08 用系统字体为你的应用带来改变
    • 看下面这张图形中的图片中的字体是不是感觉比较炫酷
    1.png
    • 其实这只是设置了一下系统自带字体而已
     videoTitle.font = UIFont(name: "Zapfino", size: 24)
    
    

    贴个网站,iOS 所有自带字体
    iOS字体

    // MARK:- 09 遍历数组enumerated()
    #类似于OC Block块遍历
     let arr = ["tmac","kobe","kg"]
            for (index,value) in arr.enumerated() {
                print(index)
                print(value)
            }
    
    
    // MARK:- 10

    相关文章

      网友评论

          本文标题:Swift—Tips—01

          本文链接:https://www.haomeiwen.com/subject/usqogttx.html