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

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

新規登録して質問してみよう
ただいま回答率
85.48%
GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

1回答

2008閲覧

【swift】getした配列の展開(配列の中に辞書型を含む)

TakuyaKondo

総合スコア7

GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2015/10/21 21:57

###前提・実現したいこと
getリクエストを送信し、受け取った配列[{},{},{},{},{}...]の形のものを展開し、TableViewCellに表示したいのですが、うまくいきません。

###発生している問題・エラーメッセージ

エラーメッセージとして[__NSArrayM objectAtIndex:]: index 3 beyond bounds for empty array'
が表示されています。

Dictionaryの中のArrayを展開することはできそうな気がするのですが、Arrayの中のDictionaryを展開することはできるのでしょうか。。。

どなたかご回答よろしくお願いいたします。

###ソースコード
var basicscript = NSArray()
var getUrlString = "http://IP/show/" + String(number1)

override func viewDidLoad() { super.viewDidLoad()

let url = NSURL(string: getUrlString)!

var task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {data, response, error in // conver json to dictionary do { var dict = try! NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSArray if var aaa = dict[1] as? NSArray { // set array of entries } }catch { } }) task.resume() } //count cell of table view func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return basicscript.count } //make tableView func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { //get cell let basiccell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "basiccell") //get basicscript var aaa = (named:basicscript[indexPath.row] as! NSArray) basiccell.textLabel!.text = aaa[1] as! String return basiccell }

###補足情報(言語/FW/ツール等のバージョンなど)

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

エラーメッセージとして[__NSArrayM objectAtIndex:]: index 3 beyond bounds for empty array' が表示されています。

これは書いていただいたソースコードのどの行で発生していますか?

Dictionaryの中のArrayを展開することはできそうな気がするのですが、Arrayの中のDictionaryを展開することはできるのでしょうか。。。

以下に簡単な例を載せておきます。
これを参考にtry catchしている処理あたりから見直してみてください。

Swift

1let dictionaryInArray: [[String:String]] = [ 2 [ 3 "key0": "value0", 4 "key1": "value1" 5 ], 6 [ 7 "key10": "value10", 8 "key11": "value11" 9 ] 10] 11 12let dict = dictionaryInArray[1] 13let value = dict["key10"] // "value10"

投稿2015/10/23 01:59

TakutoNagano

総合スコア150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問