0
콜렉션 뷰와 Json 배열이 있습니다. 콜렉션 뷰 셀을 탭하여 다른 뷰에서 특정 데이터를 얻고 싶습니다. 기본보기의 단추에 태그를 사용하여 데이터를 가져 왔지만 컬렉션보기로보기를 변경하면 별도의 단추가 없어 컬렉션보기가 색인과 함께 작동합니다. 콜렉션 뷰에서 두드러진 인덱스로 데이터를 가져 오는 파서를 만드는 방법은 무엇입니까? 당신이 UICollectionViewCell구문 분석을 사용하여 콜렉션 뷰 셀을 클릭하여 특정 데이터를 가져오고 싶습니다.
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
는, 탭 특정 셀의 데이터를 사용하는 아래의 코드를 사용하려면 선택하면 UICollectionViewDelegate 아래가 호출되는
import Foundation
class CardGenerator {
static func generateCards(onMode mode: Letter) -> JsonEnum {
let filepath = Bundle.main.path(forResource: "Data", ofType: "json")!
let data = NSData(contentsOfFile: filepath)!
let json = try! JSONSerialization.jsonObject(with: data as Data, options: JSONSerialization.ReadingOptions.allowFragments) as! [String: AnyObject]
print(json)
print(json as? NSObject)
let cards: JsonEnum = JsonEnum(img: "", txt: "", lett: "", sound: "")
if let jsonCards = json[mode.rawValue] as? [String: AnyObject] {
//for aso in jsonCards {
print(jsonCards)
let card = JsonEnum()
if let image = jsonCards["image"] as? String {
card.image = image
}
if let text = jsonCards["text"] as? String {
card.text = text
}
if let letter = jsonCards["letter"] as? String {
card.letter = letter
}
if let sound = jsonCards["sound"] as? String {
card.sound = sound
}
print(card.image, card.text, card.letter, card.sound)
return card
}
return cards
}
}
에서 데이터를 얻을하는 방법 json을 사용하여이 func? – SunCode
당신이해야 할 일은'viewDidLoad'에서'generateCards' 메쏘드를 호출하고 변수를 출력 한 다음 collectionView의'didSelectItemAt' 메쏘드는'generateCards'에서 출력 변수의 인덱스에있는 값을'indexPath.row'를 사용하여 얻습니다 –