Ios 如何使用函数中类外的变量
我想在Viewcontrollerclass之外使用这两个变量var percentage和var calculateIos 如何使用函数中类外的变量,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
如果问得不恰当,或者我无法澄清我的问题,我很抱歉,因为我是新来的。不要这样做。 所有数据都应该被封装。
将结构与类外的静态变量一起使用
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