title: Pass in strings received from another tableviewcontroller
body: <p>I am building a quite simple product ordering app.
  This is a tabbed application being, Product List, Order List and settings.
  From the Product List (coredata parsed from remote csv file) I can search then select a row, which then pops an alert view to add desired quantity to textfield and then on "ADD" button in alertview I can segue with the four strings (Productcode, Detail, Quantity(from alertview) and barcode) to the Order List View controller. 
  This is where im having trouble! 
  I can print the four strings in console at the point of being recieved by OrderList, but I'm stuck for a way to pass those strings into My NSObject model in order to display and persist them in the labels of the tableviewcell.</p>
  
  <p>Here is my OrderProduct.swift file:</p>
  
  <pre><code>import Foundation
  import UIKit
  
  
  class OrderProduct: NSObject, NSCoding {
  
  var uuid: String = NSUUID().UUIDString
  var productcode:String = ""
  var detail:String = ""
  var quantity:String = ""
  var barcode:String = ""
  var inOrderList = false
  
  func encodeWithCoder(coder: NSCoder) {
      coder.encodeObject(uuid, forKey: "uuid")
      coder.encodeObject(productcode, forKey: "productcode")
      coder.encodeObject(detail, forKey: "detail")
      coder.encodeObject(quantity, forKey: "quantity")
      coder.encodeObject(barcode, forKey: "barcode")
      coder.encodeBool(inOrderList, forKey: "inOrderList")
  }
  required init?(coder decoder: NSCoder) {
      super.init()
  
      if let archivedUuid = decoder.decodeObjectForKey("uuid") as? String {
          uuid = archivedUuid
      }
  
      if let archivedProductcode = decoder.decodeObjectForKey("productcode") as? String {
          productcode = archivedProductcode
      }
  
      if let archivedDetail = decoder.decodeObjectForKey("detail") as? String {
          detail = archivedDetail
      }
  
      if let archivedQuantity = decoder.decodeObjectForKey("quantity") as? String {
          quantity = archivedQuantity
      }
  
      if let archivedBarcode = decoder.decodeObjectForKey("barcode") as? String {
          barcode = archivedBarcode
      }
  
      inOrderList = decoder.decodeBoolForKey("inOrderList")
  }
  init(productcode: String, detail: String, quantity: String, barcode: String) {
      super.init()
  
      self.productcode = productcode
      self.detail = detail
      self.quantity = quantity
      self.barcode = barcode
  }
  }
  </code></pre>
  
  <p>And here is my OrderViewController.swift file:</p>
  
  <pre><code>import Foundation
  import UIKit
  
  //MARK: - Class
  class TestOrderViewController: UITableViewController{
  
  required init?(coder decoder: NSCoder) {
      //print("init OrderViewController")
      super.init(coder: decoder)
  
      loadOrderProducts()
      }
  
      deinit {
  }
  
  //MARK: - Product Vars
      var passedProductcode = String()     //String is recieved here!
      var passedDetail = String()          //String is recieved here!
      var passedQuantity = String()        //String is recieved here!
      var passedBarcode = String()         //String is recieved here!
  
      var orderProducts = [OrderProduct]() //My Object model...
  
  //MARK: - ViewDidLoad
  override func viewDidLoad() {
      super.viewDidLoad()
      title = "Order List"
  
      orderProducts.productcode = passedProductcode //Trying to pass them but
      orderProducts.detail = passedDetail           //errors with "Value of type
      orderProducts.quantity = passedQuantity       //'[OrderProduct]' has no
      orderProducts.barcode = passedBarcode         //member 'productcode'?
  
      tableView.estimatedRowHeight = 80.0
      tableView.rowHeight = UITableViewAutomaticDimension
      }
  
  // MARK: - Table view data source
  override func numberOfSectionsInTableView(tableView: UITableView) -&gt; Int {
      // Return the number of sections.
      return 1
  }
  
  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
      // Return the number of rows in the section.
  
      return orderProducts.count
  }
  
  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
      let cell = tableView.dequeueReusableCellWithIdentifier("OrderCell", forIndexPath: indexPath) as! OrderTableViewCell
      let orderProduct = orderProducts[indexPath.row]
      cell.productcodeLabel.text = orderProduct.productcode
      cell.detailLabel.text = orderProduct.detail
      cell.quantityLabel.text = "X \(orderProduct.quantity)"
      cell.barcodeLabel.text = orderProduct.barcode
  
      return cell
  }
  
  private func loadOrderProducts() {
      if let filePath = pathForOrderProducts() where NSFileManager.defaultManager().fileExistsAtPath(filePath) {
          if let archivedOrderProducts = NSKeyedUnarchiver.unarchiveObjectWithFile(filePath) as? [OrderProduct] {
              orderProducts = archivedOrderProducts
          }
      }
  }
  
  private func pathForOrderProducts() -&gt; String? {
      let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
  
      if let documents = paths.first, let documentsURL = NSURL(string: documents) {
          return documentsURL.URLByAppendingPathComponent("orderProducts.plist").path
      }
      return nil
  }
  
  private func saveOrderProducts() {
      if let filePath = pathForOrderProducts() {
          NSKeyedArchiver.archiveRootObject(orderProducts, toFile: filePath)
          }
      }
  }
  </code></pre>
  
  <p>Could somebody please guide me to what I am missing?</p>