Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用函数中类外的变量_Ios_Xcode_Swift2 - Fatal编程技术网

Ios 如何使用函数中类外的变量

Ios 如何使用函数中类外的变量,ios,xcode,swift2,Ios,Xcode,Swift2,我想在Viewcontrollerclass之外使用这两个变量var percentage和var calculate 如果问得不恰当,或者我无法澄清我的问题,我很抱歉,因为我是新来的。不要这样做。 所有数据都应该被封装。 将结构与类外的静态变量一起使用 import UIKit import CoreData var i = 9 var b = Calculate // i want to use that 'Calculate' va

我想在Viewcontrollerclass之外使用这两个变量var percentage和var calculate
如果问得不恰当,或者我无法澄清我的问题,我很抱歉,因为我是新来的。

不要这样做。

所有数据都应该被封装。
将结构与类外的静态变量一起使用

       import UIKit
       import CoreData

       var i = 9
       var b = Calculate // i want to use that 'Calculate' variable here and same for other 'percentage' var 

       class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {........
              .....................
               ......................
               ..................
               var request = NSFetchRequest(entityName: "Entity")
                request.returnsObjectsAsFaults = false;
               // request.predicate = NSPredicate(format: " = %@", txt2.text!)
                request.predicate = predicate

                let results:NSArray = try context.executeFetchRequest(request) as! [NSManagedObject]
                //request.predicate = predicate


                if (results.count > 0){
                    var res = results[0] as! NSManagedObject
                    txt1.text = res.valueForKey("txt1") as! String
                    //.text = res.valueForKey("password") as! String

                    print("atendence = \(results.count)")

                    print("percentage = \(100*results.count/30)")
                    print(results.count)

                    var calculate = 100*results.count/30

                    var percentage = Float(calculate)




                    txt4.text = "\(percentage)%"
                    txt2.text = "\(results.count)"
                    txt3.text = "\(100*results.count/30)"

              ................................
                .......................}
使用访问变量

struct Global {
  static var i = 9
  static var calculate : Float = 0.0
}

为要全局访问的变量创建一个共享实例,如下所示

let x = Global.calculate
在任何ViewController中,您都可以像

import UIKit

class globalVariables {
    class var sharedInstance: globalVariables {
        struct Static {
            static var instance: globalVariables?
            static var token: dispatch_once_t = 0
        }

        dispatch_once(&Static.token) {
            Static.instance = globalVariables()
        }

        return Static.instance!
    }

    var a: String = ""
    var b: String = ""
}

从外部的意义上说,你想在哪里使用。在视图控制器或其他视图控制器内的方法中?请参阅我在第4行@PK20assign b=calculate right after var calculate=100*results.count/30行对我的代码的评论。您可以直接在另一个文件中使用b变量。您已将变量声明为全局变量,可以从任何其他类获取该文件为swift或objective-C?访问b变量的位置
globalVariables.sharedInstance.a 
globalVariables.sharedInstance.b