2016-10-04 3 views
0

너무 혼란 스럽습니다. 나는 그것이 제 바인딩과 관련이 있는지 또는 그들이 비추천되거나 거래가 무엇인지는 모르지만 이전에는 아무런 문제가 없었으며 아무런 가치도 없습니다.언 래핑하는 동안 예기치 않게 nil이 발견됨 옵션 값 JSON swift

self.arrayControllerNames.addObject(names) 

Controller.swift

import Cocoa 

class Controller: NSObject { 

@IBOutlet weak var arrayControllerNames: NSArrayController! 

@IBOutlet weak var arrayControllerPrices: NSArrayController! 


var names: NSMutableArray = NSMutableArray() 
var prices: NSMutableArray = NSMutableArray() 
var descriptions: NSMutableArray = NSMutableArray() 
var images: NSMutableArray = NSMutableArray() 
var videos: NSMutableArray = NSMutableArray() 
var downloads: NSMutableArray = NSMutableArray() 


override func awakeFromNib() { 





    let url = NSURL(string: "http://url") 
    let request = NSURLRequest(url: url as! URL) 
    let session = URLSession(configuration: URLSessionConfiguration.default) 
    let task = session.dataTask(with: request as URLRequest) { (data,response,error) -> Void in 

     if error == nil { 

      let swiftyJSON = JSON(data:data!) 
      print(swiftyJSON) 
      let products = swiftyJSON[].arrayValue 

      for product in products{ 

       let names = product["product_name"].stringValue 

       //let prices = product["product_price"].stringValue 
       //let descriptions = product["product_description"].stringValue 
       //let images = product["product_description"].stringValue 
       //let videos = product["product_description"].stringValue 
       //let downloads = product["product_description"].stringValue 



        self.arrayControllerNames.addObject(names) 

       //self.arrayControllerPrices.addObject(prices) 
       //self.arrayControllerPrices.addObject(descriptions) 
       //self.arrayControllerPrices.addObject(images) 
       //self.arrayControllerPrices.addObject(videos) 
       //self.arrayControllerPrices.addObject(downloads) 
      } 


     } else{ 
      print("Error") 
     } 
    } 
    task.resume() 



} 
} 
+1

'NSArrayController'는 데이터 소스로 여러 배열에서 전혀 작동하지 않습니다. 모델로 사용자 정의 클래스를 사용하십시오. 그리고 ** Swift **에서 NSMutableArray/NSMutableDictionary를 사용하지 마십시오. 그 제안을하는 자습서를 고소하십시오. Interface Builder에 어레이 컨트롤러가 연결되어 있습니까? – vadian

+0

예 내 어레이 컨트롤러가 인터페이스 –

답변

-1

다음은 선택 사항입니다 적어도 :

product["product_name"] 
나는 오랜 시간 동안 일하고 지금은 줄에이 오류가 계속했다

아마도 사용해야합니다.

product["product_name"]! 

(상황에 따라 다름)

+0

에 연결되어 있습니다. 오류가 발생했습니다. "비 선택적 유형 'JSON'의 언 랩핑 값을 강제 적용 할 수 없습니다. –

+0

제품 ["product_name "] 및 제품 ["product_name " ]. 문자열 값? –

+0

예.하지만 최근에 문제가 생겼습니다. 더 이상 내 결과를 인쇄하지 않는 것 같습니다. –

관련 문제