2015-11-25 2 views
0
 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)" 

       ................................ 
       .......................} 

я хочу использовать это две переменные вар процент и вар вычислить за пределами Viewcontrollerclass и извините, если не просит должным образом или, если я не в состоянии прояснить мой вопрос , потому что я совершенно новый здеськак использовать переменную вне класса, который находится внутри функции

+1

снаружи в том смысле, где ты тусклый использовать. В методах внутри контроллера вида или других контроллеров представлений? – PK20

+0

см. Мой комментарий к моему коду на линии нет. 4 @ PK20 –

+0

на том же viewController, но за пределами класса сразу после импорта uikit и импорта CoreData @ PK20 –

ответ

0

Не делайте этого.

Все данные должны быть инкапсулированы.
Используйте структуру со статическими переменными вне класса.

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

Доступ к переменной с

let x = Global.calculate 
0

Вы можете создать общий экземпляр, как следует для переменных, которые вы хотите получить доступ по всему миру.

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 = "" 
} 

И в любом viewControllers, вы можете получить доступ к нему, как

globalVariables.sharedInstance.a 
globalVariables.sharedInstance.b 
Смежные вопросы