2016-07-29 6 views
-2

私は新しいプロジェクトの共有クラスを使用して、素早くオブジェクトや関数を再利用する必要があります。これを別のクラスでどのように使うことができるかを知る必要があります。ここアドバンス ベリー共有クラスを作成してすぐに別のクラスで使用する方法

+2

の可能性のある重複した[IOSスウィフトで再利用可能な機能を置くか?](http://stackoverflow.com/questions/30633408/where-to-put-reusable-functions-in-ios-swift) – Shad

答えて

0

で おかげで2クラスを作成し、第二クラスにファーストクラスからのデータと機能を使用する方法の簡単な例です。

最初のViewController:

class FirstViewController: UIViewController { 
override func viewDidLoad() { 
    super.viewDidLoad() 
    let yourSharedValue: String = "Hello" 
} 
func yourSharedFunction() { 
print("your func") 
} 

第二のViewController:

class SecondViewController: UIViewController { 
let sharedData = FirstViewController() // assigning the data and functions from 1st view controller to variable 'sharedData' 
override func viewDidLoad() { 
    super.viewDidLoad() 
let someString = sharedData.yourSharedValue // here you assign the value from 1st View controller to the value in 2nd view controller 
sharedData.yourSharedFunction() // here you call the function from 1st VC 

はそれがお役に立てば幸いです。

1

こんにちは下記の例を見つけてください。

class SharedClass: 
    NSObject { 
     var email:NSString="" 
     var image:NSString="" 
     var name:NSString="" 
     var memberID:NSString="" 
     var agencyName:NSString="" 
     var billedAmount:NSString="" 
     var paidAmount:NSString="" 

     class var sharedInstance: SharedClass { 
      struct Static { 
       static var onceToken: dispatch_once_t = 0 
       static var instance: SharedClass? = nil 
      } 

      dispatch_once(&Static.onceToken) { 
       Static.instance = SharedClass() 
      } 

      return Static.instance! 
     } 

     func logout(){ 
      let defaults = NSUserDefaults.standardUserDefaults() 
      defaults.setObject(nil, forKey: "user_id") 
      defaults.setObject(nil, forKey: "first_name") 
      defaults.setObject(nil, forKey: "user_image") 
      defaults.setObject(nil, forKey: "email") 
      defaults.setObject(nil, forKey: "fb_token") 
      defaults.synchronize() 
      print(defaults.objectForKey("user_id")) 

      let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 

      // appDelegate.userID = "" 
      //print(appDelegate.userID) 
     } 

     func alert(viewController : UIViewController, message : NSString) { 
      let alert = UIAlertController(title: "Message", message: message as String, preferredStyle:UIAlertControllerStyle.Alert) 
      alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Cancel, handler: nil)) 
      viewController.presentViewController(alert, animated: true, completion: nil) 
     } 
    } 
+0

sharedClass:SharedClass = SharedClass.sharedInstanceを別のクラスで使用するために –

+0

ありがとうRajeev Radhakrishnan –

関連する問題