diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate index fff33d0..5ad267a 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index d9f43cb..a76c9c7 100644 --- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -6,16 +6,16 @@ @@ -25,29 +25,13 @@ shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "493665751.744" + filePath = "Vendoo/ListingPreviewViewController.swift" + timestampString = "493861794.122107" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "234" - endingLineNumber = "234" - landmarkName = "listItem(_:completion:)" - landmarkType = "5"> - - - - @@ -57,605 +41,29 @@ shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "493665751.744" - startingColumnNumber = "9223372036854775807" - endingColumnNumber = "9223372036854775807" - startingLineNumber = "289" - endingLineNumber = "289" - landmarkName = "listItem(_:completion:)" - landmarkType = "5"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -666,27 +74,59 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/ListingPreviewViewController.swift" - timestampString = "493663551.342447" + timestampString = "493930954.132313" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "268" - endingLineNumber = "268" + startingLineNumber = "567" + endingLineNumber = "567" landmarkName = "publishItem(_:)" landmarkType = "5"> + + + + + + @@ -698,11 +138,123 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/ListingPreviewViewController.swift" - timestampString = "493662437.215315" + timestampString = "493930954.132313" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "500" - endingLineNumber = "500" + startingLineNumber = "579" + endingLineNumber = "579" + landmarkName = "publishItem(_:)" + landmarkType = "5"> + + + + + + + + + + + + + + + + + + + + + + + + @@ -714,28 +266,300 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "493665751.744" + timestampString = "493953484.620568" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "212" - endingLineNumber = "212" - landmarkName = "addImagesToListing(_:imageURL:onCompletion:)" + startingLineNumber = "225" + endingLineNumber = "225" + landmarkName = "addImagesToListing(_:imageURLs:listingOnCompletion:body:onCompletion:)" landmarkType = "5"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Vendoo/EbayWebServiceManager.swift b/Vendoo/EbayWebServiceManager.swift index 59d8111..10daee1 100644 --- a/Vendoo/EbayWebServiceManager.swift +++ b/Vendoo/EbayWebServiceManager.swift @@ -207,8 +207,10 @@ extension EbayWebServiceManager { self.requestMaker(soapMessage, theRequest: theRequest) } - func addImagesToListing(listingID: String, imageURL: String, onCompletion: ServiceResponse) { + func addImagesToListing(listingID: String, imageURLs: [String], listingOnCompletion: ServiceResponse, body: [String:String],onCompletion: ServiceResponse) { + listItem(body, imageUrls: imageURLs, completion: listingOnCompletion) + /* var soapMessage = "" + "" + "" + @@ -217,21 +219,26 @@ extension EbayWebServiceManager { soapMessage = soapMessage + "en_US" + "" + - "\(listingID)" + - "" + - "\(imageURL.stringByReplacingOccurrencesOfString("&", withString: "&"))" + - "" + - "" + "\(listingID)" + + for i in 0...(imageURLs.count - 1) { + soapMessage = soapMessage + "" + + "\(imageURLs[i].stringByReplacingOccurrencesOfString("&", withString: "&"))" + + "" + } + + + soapMessage = soapMessage + "" let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("ReviseItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") self.completion = onCompletion self.requestMaker(soapMessage, theRequest: theRequest) - + */ } - func listItem(params: [String: String], completion: ServiceResponse?){ + func listItem(params: [String: String], imageUrls: [String], completion: ServiceResponse?){ var dict = EbayWebServiceManager.settingsDictionary var emailRetrievalGroup = dispatch_group_create() var soapMessage = "" + @@ -268,8 +275,15 @@ extension EbayWebServiceManager { "\(dict["listingDuration"] as! String!)" + "\(dict["listingType"] as! String!)" + "\(dict["payment"] as! String!)" + - "\(dict["paypal_email"] as! String!)" + - "\(dict["postalCode"] as! String!)" + + "\(dict["paypal_email"] as! String!)" + + for i in 0...(imageUrls.count - 1) { + soapMessage = soapMessage + + "\(imageUrls[i].stringByReplacingOccurrencesOfString("&", withString: "&"))" + + } + + soapMessage = soapMessage + "\(dict["postalCode"] as! String!)" + "\(params["quantity"] as String!)" + "" + "\(dict["return"] as! String!)" + @@ -285,7 +299,7 @@ extension EbayWebServiceManager { "" + "US" + "" - + print(soapMessage) let url = NSURL(string: self.baseURL) let theRequest = NSMutableURLRequest(URL: url!) theRequest.addValue("AddItem", forHTTPHeaderField: "X-EBAY-API-CALL-NAME") diff --git a/Vendoo/HomeViewController.swift b/Vendoo/HomeViewController.swift index e5ceaaf..5c309d0 100644 --- a/Vendoo/HomeViewController.swift +++ b/Vendoo/HomeViewController.swift @@ -54,13 +54,13 @@ class HomeViewController: UITabBarController { var listingImages: [UIImage] = [mainImage!] var count = 0 //Get supporting images - for i in 2...5 { + for i in 1...4 { let supportListingImg1 = storageRef.child("images/\(key)/\(i).jpg") supportListingImg1.dataWithMaxSize(10 * 1024 * 1024, completion: { (data1, error) -> Void in if(error != nil){ - print("support image \(i - 1) for key, \(key), does not exist") + print("support image \(i) for key, \(key), does not exist") }else{ listingImages.append(UIImage(data: data1!)!) } diff --git a/Vendoo/ListingPreviewViewController.swift b/Vendoo/ListingPreviewViewController.swift index a402872..089ceeb 100644 --- a/Vendoo/ListingPreviewViewController.swift +++ b/Vendoo/ListingPreviewViewController.swift @@ -14,13 +14,18 @@ */ import UIKit +import FirebaseStorage //@TODO: Need to make multiple images work for etsy and facebook and need to implement multiple images saving to firebase class ListingPreviewViewController: UIViewController { //IBOutlets @IBOutlet weak var containerScrollView: UIScrollView! @IBOutlet weak var itemQuantity: UITextView! - @IBOutlet weak var itemPicture: UIImageView! + @IBOutlet weak var itemPictureMain: UIImageView! + @IBOutlet weak var itemPictureSup1: UIImageView! + @IBOutlet weak var itemPictureSup2: UIImageView! + @IBOutlet weak var itemPictureSup3: UIImageView! + @IBOutlet weak var itemPictureSup4: UIImageView! @IBOutlet weak var itemTitle: UITextView! @IBOutlet weak var itemDescription: UITextView! @IBOutlet weak var itemPrice: UITextView! @@ -62,7 +67,27 @@ class ListingPreviewViewController: UIViewController { func setListing(){ - self.itemPicture.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![0].image + for i in 0...((self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1) { + switch i { + case 0: + self.itemPictureMain.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 1: + self.itemPictureSup1.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 2: + self.itemPictureSup2.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 3: + self.itemPictureSup3.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + case 4: + self.itemPictureSup4.image = (self.itemListingDictionary["pictures"] as? [UIImageView])![i].image + break + default: + break + } + } self.itemTitle.text = self.itemListingDictionary["title"] as! String self.itemDescription.text = self.itemListingDictionary["description"] as! String self.itemPrice.text = self.itemListingDictionary["price"] as! String @@ -82,7 +107,14 @@ class ListingPreviewViewController: UIViewController { self.etsyManager = etsyManager } - + func saveToFirebase(listingImageRef: FIRStorageReference, completion: ServiceResponse! ) { + + listingImageRef.putData(UIImageJPEGRepresentation(self.itemPictureMain.image!, 0.8)!, metadata: nil,completion: { + (metadata, error) -> Void in + completion(metadata, error) + }) + + } // MARK: - Navigation @@ -96,7 +128,7 @@ class ListingPreviewViewController: UIViewController { vc.itemName.text? = self.itemTitle.text vc.itemPrice.text? = self.itemPrice.text vc.itemDescription.text? = self.itemDescription.text - vc.possibleItemImageMain = self.itemPicture + vc.possibleItemImageMain = self.itemPictureMain vc.itemQuantity.text? = self.itemQuantity.text } } @@ -131,7 +163,7 @@ extension ListingPreviewViewController { @IBAction func publishItem(sender: AnyObject) { - if(self.itemPicture.image == nil){ + if(self.itemPictureMain.image == nil){ let alert = UIAlertController(title: "Image Needed", message: "To proceed to choose networks, you must supply at least one picture for your listing", preferredStyle: .Alert) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) @@ -142,10 +174,14 @@ extension ListingPreviewViewController { //save listing to private user path in firebase let newListingRef = self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").childByAutoId() let postingGroup: dispatch_group_t = dispatch_group_create() + + /*if(!(self.networksDictionary["ebay"]!)&&(!(self.networksDictionary["etsy"]!))&&(!(self.networksDictionary["amazon"]!))&&(!(self.networksDictionary["facebook"]!))) { - + }else { + dispatch_g + }*/ //post to ebay - if(self.networksDictionary["ebay"]!){ + /*if(self.networksDictionary["ebay"]!){ dispatch_group_enter(postingGroup) var categoryCode: String! var dict = EbayWebServiceManager.settingsDictionary["categories"]! @@ -267,7 +303,7 @@ extension ListingPreviewViewController { self.newInProgressListing["networkIDs"] = networkIDs dispatch_group_leave(postingGroup) }) - } + }*/ //post to amazon @@ -404,7 +440,7 @@ extension ListingPreviewViewController { let imageBody = ["listing_id": networkIDs["etsy"] as! Int, //"type":"image/jpg", - "image": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!] + "image": UIImageJPEGRepresentation(self.itemPictureMain.image!, 0.45)!] self.etsyManager.sendPOSTRequest(("listings/\(networkIDs["etsy"] as! Int)/images"), body: imageBody, onCompletion: { (dict, error) -> Void in @@ -421,26 +457,93 @@ extension ListingPreviewViewController { //post to facebook if(self.networksDictionary["facebook"]!){ dispatch_group_enter(postingGroup) - + let fb_group: dispatch_group_t = dispatch_group_create() + let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(), isDirectory: true) let fileURL = tmpDirURL.URLByAppendingPathComponent("main").URLByAppendingPathExtension("jpg") print("FilePath: \(fileURL.path!)") do { - try UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!.writeToFile(fileURL.path!, options: NSDataWritingOptions.AtomicWrite) + try UIImageJPEGRepresentation(self.itemPictureMain.image!, 0.45)!.writeToFile(fileURL.path!, options: NSDataWritingOptions.AtomicWrite) }catch{ (error) print(error) } - - //let parameters: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)] - - let parameters: Dictionary = ["Source": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!, "published":false] - self.lastListingKey = newListingRef.key - self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { - (imageId, error) -> Void in + + var imageIDs: [String] = [] + + + //post multiple images to fb + for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 { + var parameters: Dictionary = Dictionary() + switch (i) { + + case 0: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureMain.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 1: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup1.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 2: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup2.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 3: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup3.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + case 4: + dispatch_group_enter(fb_group) + parameters["Source"] = UIImageJPEGRepresentation(self.itemPictureSup4.image!,0.45)! + parameters["published"] = false + self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: { + (imageId, error) -> Void in + imageIDs.append(imageId as! String) + dispatch_group_leave(fb_group) + }) + break + default: + break + } + } + + + //notifies that all images are ready to be attached to new listing on facebook + dispatch_group_notify(fb_group, dispatch_get_main_queue(), { + + var listingParams: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)] + + for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 { + listingParams["attached_media[\(i)]"] = "{\"media_fbid\":\"\(imageIDs[i])\"}" + } + - var listingParams: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!), "attached_media[0]":"{\"media_fbid\":\"\(imageId as! String)\"}"] self.graphManager.makePOSTResquest("me/feed", params: listingParams, onComplete: { (listingId, error) -> Void in @@ -451,19 +554,16 @@ extension ListingPreviewViewController { networkIDs["facebook"] = listingId as! String self.newInProgressListing["networkIDs"] = networkIDs dispatch_group_leave(postingGroup) - - + + }) - /* - - */ + }) - //let parameters: Dictionary = ["":""] - - } + + //notifies once all selected networks have been posted to dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { self.newInProgressListing.update(["listingID": newListingRef.key, "seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!, @@ -482,54 +582,122 @@ extension ListingPreviewViewController { let storageRef = self.firManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!) + var imageURLs: [String] = [] + let completion: ServiceResponse = {(metadata, error) -> Void in + + //for ebay due to its unique posting flow, will use firbase image storage url to add pictures + if (self.networksDictionary["ebay"]!){ + imageURLs.append((metadata?.downloadURL()?.absoluteString)!) + dispatch_group_leave(postingGroup) + }else{ + dispatch_group_leave(postingGroup) + } + + + + + } + //change code to new multi-image saving - - - - let listingImageRef = storageRef.child("images/\(newListingRef.key)"+".jpg") - listingImageRef.putData(UIImageJPEGRepresentation(self.itemPicture.image!, 0.8)!, metadata: nil,completion: - {(metadata, error) -> Void in + for i in 0...(self.itemListingDictionary["pictures"] as! [UIImageView]).count - 1 { + switch (i) { - //for ebay due to its unique posting flow, will use firbase image storage url to add pictures + case 0: dispatch_group_enter(postingGroup) - if (self.networksDictionary["ebay"]!){ - var networkIDs = self.newInProgressListing["networkIDs"] as! Dictionary - - self.ebayManager.addImagesToListing(networkIDs["ebay"] as! String, imageURL: (metadata?.downloadURL()?.absoluteString)!, onCompletion: { - (_, _) -> Void in - dispatch_group_leave(postingGroup) - }) - }else{ + let listingImageRef = storageRef.child("images/\(newListingRef.key)/main"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 1: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/1"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 2: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/2"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 3: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/3"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + case 4: + dispatch_group_enter(postingGroup) + let listingImageRef = storageRef.child("images/\(newListingRef.key)/4"+".jpg") + self.saveToFirebase(listingImageRef, completion: completion) + break + default: + break + } + } + + //notify to upload multiple ebay photos + dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { + dispatch_group_enter(postingGroup) + if (self.networksDictionary["ebay"]!){ + + let body: [String: String] = [ "title": self.itemTitle.text, + "quantity":self.itemQuantity.text, + "description":self.itemDescription.text, + "price":self.itemPrice.text, + "category_id":self.itemListingDictionary["ebaySubCategoryID"] as! String + ] + let listingCompletion: ServiceResponse = { + (listingID, error) -> Void in + if((self.newInProgressListing["networkIDs"] == nil)){ + self.newInProgressListing["networkIDs"] = Dictionary() + } + var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary) + networkIDs["ebay"] = listingID as! String + self.newInProgressListing["networkIDs"] = networkIDs dispatch_group_leave(postingGroup) } + + /*self.ebayManager.listItem(body, completion: { + (listingID, error) -> Void in + if((self.newInProgressListing["networkIDs"] == nil)){ + self.newInProgressListing["networkIDs"] = Dictionary() + } + var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary) + networkIDs["ebay"] = listingID as! String + self.newInProgressListing["networkIDs"] = networkIDs + dispatch_group_leave(postingGroup) + })*/ + self.ebayManager.listItem(body, imageUrls: imageURLs, completion: listingCompletion) + //self.ebayManager.addImagesToListing(networkIDs["ebay"] as! String, imageURLs: imageURLs, listingOnCompletion: listingCompletion, body: body, onCompletion: { + //(_, _) -> Void in + //dispatch_group_leave(postingGroup) + //}) + + } + else { + dispatch_group_leave(postingGroup) + } + + //notify to save final listing to firebase + dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { + newListingRef.setValue(self.newInProgressListing) - dispatch_group_notify(postingGroup, dispatch_get_main_queue(), { - newListingRef.setValue(self.newInProgressListing) - - // self.alert.title = "Listing saved with error" - // self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook" - - - //let alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert) - - // self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)})) - - //register new listing id in global path of firebase root' - self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key) - }) + // self.alert.title = "Listing saved with error" + // self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook" + //let alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert) + + // self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)})) + + //register new listing id in global path of firebase root' + self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key) + }) + }) - - - - }) + }) + } - - } @IBAction func editListing(sender: AnyObject) { @@ -539,8 +707,8 @@ extension ListingPreviewViewController { -} + } extension ListingPreviewViewController: UICollectionViewDelegate { /* diff --git a/Vendoo/Main.storyboard b/Vendoo/Main.storyboard index 98bbf3b..b55d147 100755 --- a/Vendoo/Main.storyboard +++ b/Vendoo/Main.storyboard @@ -1027,7 +1027,11 @@ - + + + + + diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift index 9139c15..073f2c3 100644 --- a/Vendoo/NetworksTableViewController.swift +++ b/Vendoo/NetworksTableViewController.swift @@ -158,7 +158,7 @@ extension NetworksTableViewController: UITableViewDataSource { cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell) break default: - //loads network cell for ebay + //loads network cell for facebook cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) break