質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Swift

    7474questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • API

    1561questions

    APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

  • Twitter

    674questions

    Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Swift Twitter Timeline

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 584

kobad

score 1

TwitterのTimelineをTableViewに表示したい。
var tweets = [] 
の空配列に(ここも配列でいいのかわからない)

let result : AnyObject! = try! NSJSONSerialization.JSONObjectWithData(dataFromTwitter, options: NSJSONReadingOptions.MutableContainers)

でtimelineを取得して
tweets = result
代入して
tweets をCellに表示したいのですが、
ここの代入がうまくいかないようで、表示されません。
どの型にどう代入すればいいかわかりません。
よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

まずグローバル変数として

var array:NSArray? = NSArray()

を定義し、以下のメソッドをviewDidLoadの中で呼び出してください。以下では一例としてhome_timelineAPIを呼び出しています。

func getTwitterTimeline(){
        let account:ACAccountStore? = ACAccountStore()
        var accountType:ACAccountType? = ACAccountType()
        accountType! = account!.accountTypeWithAccountTypeIdentifier(ACAccountTypeIdentifierTwitter)
        let handler: ACAccountStoreRequestAccessCompletionHandler =
        {
            granted, error in
            if(!granted) {
                print("Access Denied", terminator: "")
            } else {
                print("Access Allowed", terminator: "")
                var accounts:NSArray? = NSArray()
                accounts! = account!.accountsWithAccountType(accountType)
                if accounts!.count > 0 {
                    let twitterAccount:ACAccount = accounts!.lastObject as! ACAccount
                    let reqestAPI:NSURL = NSURL(string:"https://api.twitter.com/1.1/statuses/home_timeline.json")!
                    
                    let params:NSMutableDictionary? = NSMutableDictionary()
                    params!.setObject("100", forKey: "count")
                    params!.setObject("1", forKey: "include_entities")
                    
                    let request:SLRequest? = SLRequest(forServiceType: SLServiceTypeTwitter, requestMethod: SLRequestMethod.GET, URL: reqestAPI, parameters: params! as [NSObject : AnyObject])
                    request!.account = twitterAccount
                    
                    UIApplication.sharedApplication().networkActivityIndicatorVisible = true
                    
                    let requestHandler:SLRequestHandler? = {
                        (response,urlResponse,error) in
                        do {
                            let result = try NSJSONSerialization.JSONObjectWithData(response, options: []) as! NSArray
                            self.array = result
                            if self.array!.count != 0 {
                                print(self.array!.count)
                            }
                        } catch {
                            print("error: \(error)")
                        }
                    }
                    request!.performRequestWithHandler(requestHandler)
                    UIApplication.sharedApplication().networkActivityIndicatorVisible = false
                }else{
                    print(error.localizedDescription)
                }
            }
        }
        account!.requestAccessToAccountsWithType(accountType, options: nil, completion: handler)
    }


非同期データ通信に成功すると、最初に定義したarrayにデータが保存されていますので、UITableViewDatasourceメソッドの中でarrayにアクセスし、データをUITableViewに表示します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    TwitterAPIの制限について

    Twitter API 1.1について質問です。 TwitterAPIが1.0から1.1へ変わったことにより、制限が厳しくなったという話をよくみかけて調べてみました。 参考にして

  • 解決済

    TwitterのAPIを利用してリツイートしてくれたユーザ全件取得したい

    現在TwitterのAPIを利用したアプリケーションを開発しています。 そのアプリケーションの機能の中で、リツイートしてくれたユーザの中から抽選でプレゼントを行うという機能がありま

  • 受付中

    Twitter Search APIについて

    Twitterアプリの検索のALL Tweetsと同じ検索結果を表示するためにはTwitter APIをどのようにすればいいのでしょうか? 例えばhogehogeと検索するときで

  • 解決済

    twitter api のエラーコードについて

    下記のコードはリツイート用にLET'S TWEET IN UNITYのTwitter.csを自分なりに書き換えたものです。 PostRetweet - failed. 404 No

  • 解決済

    PythonでTwitterのタイムラインを取得

    お世話になります。 PythonでTwitterのタイムラインを取得したいです。 しかし下記のようにtwitter.getが働きません。 タイムラインの取得方法を教えて

  • 受付中

    GASのTwitter Botでの件

    仕事でTwitter Botを作ろうと思っています。 GASでTwitter Botを作りたいのですが 下記のコードではランダムに取得してしまいます。 function get

  • 受付中

    JavaScriptのみでツイート検索は可能でしょうか?

    Node.jsでないただのJavaScriptでTwitter検索をし、ツイートをHTML出力することは可能でしょうか? 参考になるサイトがないか探してみたのですが、過去の情報と現

  • 解決済

    TwitterAPIの仕様について

    写真付きツイートがあり、TwitterAPIでjsonデータを取得するとします。 その時、extended_entitiesに画像のデータが入っている場合とない場合があると思います

同じタグがついた質問を見る

  • Swift

    7474questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • API

    1561questions

    APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

  • Twitter

    674questions

    Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。