, 나는 다음과 같은 변수로 모델 객체를 구축 한 다음 mainviewcontroller에서 왜 항목이 배열에 포함되지 않습니까? 엑스 코드 및 신속한 NSURLSession 내가 스위프트와 엑스 코드를 사용하고
var itemImageNames: [String]?
var itemTitle: String?
var itemDescription: String?
var itemURL: String?
, 나는 모델 유형의 변수를 만들었습니다. NSURLSession ... dataTaskWithURL ...을 시작하고 append를 사용하여 서버에서받은 itemImageNames를 추가합니다. 데이터가 유효한 것으로 되돌아 왔고, 구문 분석했습니다. 실제로 문자열로 돌아옵니다. 두 가지 해결책을 시도했습니다.
이미지에서 문자열 배열을 만들고 해당 배열을 self.item.itemImageNames로 설정 했습니까?
do { if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[String: AnyObject]] { var imageURLs: [String] = [""] for dictionary in json { if let imageURL = dictionary["url"] as? String { imageURLs.append(imageURL) print(imageURL) } } self.featuredItem.itemImageNames? = imageURLs
APPEND 문자열의 각 내가 그들에게 몇 가지 이유를 들어 (이미지)
do { if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[String: AnyObject]] { for dictionary in json { if let imageURL = dictionary["url"] as? String { self.featuredItem.itemImageNames?.append(imageURL) print(imageURL) } }
을 self.item.itemImageNames를 사용하고 계십니까?으로 .Append 얻을로는 itemImageNames 모두를 사용하여, 전무 남아 구혼. 하나의 이미지 (예 : 첫 번째 이미지)를 사용하고 itemImageNames를 "문자열"로 변경하면 제대로 작동 할 것이라고 확신합니다.
또한 itemTitle, itemDescription 및 itemURL을 각각 self.item.itemTitle, self.item.itemDescription, self.item.itemURL로 설정하여 쉽게 업데이트 할 수 있습니다. 배열에 정보를 입력하는 방법에 대해 내가 빠뜨린 것이 있습니까?
NSURLSession에서 itemImageNames 배열에 데이터를 추가하는 방법에 대한 예제 코드를 제공 할 수 있습니까? 도움이 될 것입니다. – Rich
안녕하세요. 질문을 업데이트했습니다. 감사! –
# 1에서 나는 그게 무엇인지 모르겠다. 마지막 줄에서 할 것입니다. 해당 물음표를 제거하면 작동합니까? # 2에서는 itemImageNames가 nil이 아님을 확인하십시오. 왜냐하면 nil 배열에 추가하는 것이 본질적으로 아무 것도하지 않기 때문입니다. – ghostatron