はじめまして!!
現在以下のようにarticlesを定義し、
swift
1var articles: [[String: String?]] = [] 2
下記のように値をセットしています。
swift
1//GithubAPIよりユーザー名とアバターのリンク先を取り出す 2Alamofire.request(.GET, https://api.github.com/users) 3 .responseJSON { response in 4 guard let object = response.result.value else { 5 return 6 } 7 8 let json = JSON(object) 9 json.forEach { (_, json) in 10 let article: [String: String?] = [ 11 "avatar": json["avatar_url"].string, 12 "name": json["login"].string 13 ] 14 self.articles.append(article) 15 } 16 } 17
その上で、下記コードにおけるvc.text = article["avatar"]!の部分が型がらみでエラーを起こしてしまいました。
そのため、article["avatar"]の型であるOptional<Optional<String>>をStringに変更したいと考えているのですが、方法が見当たりません。
何か少しでもお分かりの方は是非ともご教授ください。
よろしくお願い申し上げます。
swift
1//セグを用いて遷移先であるNewViewControllerに値をセットするコード 2override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 3 { 4 if segue.identifier == "showImage" 5 { 6 7 let indexPaths = self.collectionView!.indexPathsForSelectedItems()! 8 let indexPath = indexPaths[0] as NSIndexPath 9 10 let article = articles[indexPath.row] 11 12 let vc = segue.destinationViewController as! NewViewController 13 14 vc.title = article["name"]! 15 vc.text = article["avatar"]! //Cannot assign value of type 'String?' to type 'UITextField' とエラーが表示 16 print(article["avatar"].dynamicType) //Optional<Optional<String>> と表示 17 } 18 } 19
swift
1//NewViewController.swift 2 3import UIKit 4 5class NewViewController: UIViewController 6{ 7 var image = UIImage() 8 var text = UITextField() 9 10-------以下省略----------
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/17 13:00