zoukankan      html  css  js  c++  java
  • Swift-Swift中的全局变量和函数的创建

     解决办法: 

     写OC的时候常常会用到各种宏定义,但是Swift中貌似没有宏的这种定义,更多的是通过全局常量或者全局函数来实现这一效果.我们只需要建立一个文件(假设为Macro.swift),把想用的定义在里面,无须导入头文件什么的,就可以在全局用啦.

    import UIKit
    import Foundation
    
    /**
    *   替代oc中的#define,列举一些常用宏
    */
    
    // 屏幕的物理宽度
    let kScreenWidth = UIScreen.mainScreen().bounds.size.width
    // 屏幕的物理高度
    let kScreenHeight = UIScreen.mainScreen().bounds.size.height
    
    /**
    *   除了一些简单的属性直接用常量表达,更推荐用全局函数来定义替代宏
    */
    // 判断系统版本
    func kIS_IOS7() ->Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0 }
    func kIS_IOS8() -> Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0 }
    
    // RGBA的颜色设置
    func kRGBA (r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat) -> UIColor {
        return UIColor(red: r/255.0, green: g/255.0, blue: b/255.0, alpha: a)
    }
    
    // App沙盒路径
    func kAppPath() -> String! {
        return NSHomeDirectory()
    }
    
    // Documents路径
    func kBundleDocumentPath() -> String! {
        return NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String
    }
    
    // Caches路径
    func KCachesPath() -> String! {
        return NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true).first as! String
    }
  • 相关阅读:
    Python中return self的用法
    多分类问题的交叉熵计算
    Python爬虫之足球小将动漫(图片)下载
    Sklearn中二分类问题的交叉熵计算
    TensorFlow.js入门(一)一维向量的学习
    MySql 流程控制经典案列讲解
    MySql 流程控制
    MySql 函数
    MySql 存储过程
    MySql 视图
  • 原文地址:https://www.cnblogs.com/shenyangxiaohuo/p/5312901.html
Copyright © 2011-2022 走看看