美文网首页swift
Swift 类方法和实例方法

Swift 类方法和实例方法

作者: 六十亿少女的梦 | 来源:发表于2017-08-08 14:21 被阅读5860次

    Swift方法声明

    class MOCalculate: NSObject {
    
    /// 方法声明
    /// name 方法名称 parameters 方法参数 return type 返回值类型 function body 方法内容
    /// - Returns: return type
    func <#name#>(<#parameters#>) -> <#return type#> {
        <#function body#>
    }
    
    <-----类方法----->
    /// 生成一个1~365的随机数 包括1和365
    ///
    /// - Returns: 随机生成的数
    class func getRandomNum() -> NSInteger {
        
        let randomNum = NSInteger(arc4random()%365) + 1;
        print("randomNum = ",randomNum,"?");
        
        return randomNum;
    } 
    ///static也可以声明类方法 但是static和class只能用一个
    static func getRandomNum() -> NSInteger {
        
        let randomNum = NSInteger(arc4random()%365) + 1;
        print("randomNum = ",randomNum,"?");
        
        return randomNum;
    }
    <-----实例方法----->
    //保存数字
    func saveUsedNum(num : NSInteger) -> Void {
        
    }
    
    //无参数 无返回值
    func noParameters(){
        
    }
    
    //无参数 有返回值
    func noParameters() -> String {
        return "test";
    }
    
    //有1个参数 无返回值
    func oneParameters(test : String) -> Void {
        print(test);
    }
    
    //有参数 有返回值
    func oneParameters(test : String) -> String {
        return test;
    }
    
    //多参数
    func moreParameters(test : String, with testOne : String) -> String {
        return test.appending(testOne);
    }
    
    }
    

    Swift方法调用

    class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        //调用实例方法
        let calculate = MOCalculate.init()
        let num = calculate.getSaveNum();
        
        print(calculate.moreParameters(test: "a", with: "b"));
        //调用类方法
        let randomNum = MOCalculate.getRandomNum()
        print(num,randomNum)
        
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    }

    相关文章

      网友评论

      • 英俊神武:写得挺好的,在控制器里面类方法和实例方法的区别,就是一个用self调用一个用类名调用,是这么理解吧
      • 梁森的简书:实例方法和对象方法在形式上的区别就是方法前是否有class对吧?
        梁森的简书:@六十亿少女的梦 原来static也能指定某一个方法为类方法啊。 学习了。多谢了
        六十亿少女的梦:class或者static 但是只能用一个
        //MARK:- Class Method
        class func moNavViewcontroller() -> UINavigationController {
        let moMainVc = self.viewController(storyboardName: MoMainUI)
        let nav_Main = UINavigationController.init(rootViewController: moMainVc)
        return nav_Main
        }

        static func moNav() -> UINavigationController {
        let moMainVc = self.viewController(storyboardName: MoMainUI)
        let nav_Main = UINavigationController.init(rootViewController: moMainVc)
        return nav_Main
        }

      本文标题:Swift 类方法和实例方法

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