I thought the Twitter Kit should help developers integrate Twitter into multiple lines of code. At the very least, online documentation is poor. I'm just trying to display a single user timeline in my application in a table view controller. I want only reading, only guest access to the timeline. The copy / paste from the online documentation below simply shows two cells filled with a gray image and twitter logo, but without tweets. What's wrong? Thanks
import UIKit import TwitterKit class TwitterViewController: UITableViewController, TWTRTweetViewDelegate { let tweetTableReuseIdentifier = "TweetCell" // Hold all the loaded Tweets var tweets: [TWTRTweet] = [] { didSet { tableView.reloadData() } } let tweetIDs = ["20", // @jack first Tweet "510908133917487104"] // our favorite bike Tweet override func viewDidLoad() { // Setup the table view tableView.estimatedRowHeight = 150 tableView.rowHeight = UITableViewAutomaticDimension // Explicitly set on iOS 8 if using automatic row height calculation tableView.allowsSelection = false tableView.registerClass(TWTRTweetTableViewCell.self, forCellReuseIdentifier: tweetTableReuseIdentifier) Twitter.sharedInstance().logInGuestWithCompletion { guestSession, error in if (guestSession != nil) { // make API calls that do not require user auth } else { println("error: \(error.localizedDescription)"); } } // Load Tweets Twitter.sharedInstance().APIClient.loadTweetsWithIDs(tweetIDs) { tweets, error in if let ts = tweets as? [TWTRTweet] { self.tweets = ts } else { println("Failed to load tweets: \(error.localizedDescription)") } } } // MARK: UITableViewDelegate Methods override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.tweets.count } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let tweet = tweets[indexPath.row] let cell = tableView.dequeueReusableCellWithIdentifier(tweetTableReuseIdentifier, forIndexPath: indexPath) as TWTRTweetTableViewCell cell.tweetView.delegate = self return cell } override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { let tweet = tweets[indexPath.row] return TWTRTweetTableViewCell.heightForTweet(tweet, width: CGRectGetWidth(self.view.bounds)) } }
source share