[英]how to use a variable outside of class which is inside a function
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)"
................................
.......................}
i want to use this two variables var percentage and var calculate outside of Viewcontrollerclass and sorry if not asking properly or if am not able to clarify my question , because am totally new here 我想在Viewcontrollerclass之外使用这两个变量var percent和var计算,并且抱歉,如果询问不正确或无法澄清我的问题,因为这是全新的
Don't do that. 不要那样做
All data is supposed to be encapsulated. 所有数据都应该被封装。
Use a struct with static variables outside a class. 在类外使用带有静态变量的结构。
struct Global {
static var i = 9
static var calculate : Float = 0.0
}
Access the variable with 使用访问变量
let x = Global.calculate
You create a shared instance like follows for the variables you want to access globally. 您为要全局访问的变量创建如下所示的共享实例。
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 = ""
}
And in any viewControllers, you can access it like 在任何viewControllers中,您都可以像
globalVariables.sharedInstance.a
globalVariables.sharedInstance.b
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.