5번째 프로젝트 질문입니다
129
2 asked
5번째 프로젝트에서요
다른 코드는 괜찮은데, mainViewController에서 오류가 있습니다.
마지막 부분 decode인데요.
"Cannot invoke 'decode' with an argument list of type '(@escaping (main.ButtonTag) -> AnimalInfo?, from: Data)'"
이러한 말이 뜹니다. 어떻게 해결해야하나요?
// main.swift
// What's This?
//
// Created by Tae-hee on 2020-05-11.
// Copyright © 2020 Tae-hee. All rights reserved.
//
import UIKit
class main: UIViewController {
//MARK: - Nested Type
private enum ButtonTag: Int {
case dog = 101
case cat, rabbit, hedgehog
}
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
guard let button: UIButton = sender as? UIButton else { return }
guard let nextViewController: game = segue.destination as? game else
{return}
guard let tag: ButtonTag = ButtonTag(rawValue: button.tag) else {
print("버트의 태그를 enum 변경불가")
return
}
guard let info: AnimalInfo = self.AnimalInfo(for: tag) else { return }
nextViewController.AnimalInfo = info
}
//MARK: Privates
private func AnimalInfo(for tag: ButtonTag) -> AnimalInfo? {
let assetName: String
switch tag {
case ButtonTag.dog:
assetName = "Dog"
case ButtonTag.cat:
assetName = "Cat"
case ButtonTag.rabbit:
assetName = "Rabbit"
case ButtonTag.hedgehog:
assetName = "Hedgehog"
}
return self.decodeAnimalInfo(from: assetName)
}
private func decodeAnimalInfo(from assetName: String) -> AnimalInfo? {
guard let asset: NSDataAsset = NSDataAsset(name: assetName) else {
print("에셋 로드 실패")
return nil
}
do {
let decoder: PropertyListDecoder = PropertyListDecoder()
return try decoder.decode(AnimalInfo.self, from: asset.data)
} catch {
print("데이터 디코딩 실패")
print(error.localizedDescription)
return nil
}
}
}
Answer 0
강좌소개의 overview
0
368
1
configure 메소드의 DispatchQueue.main
0
342
1
prepareForReuse 사용 방법
0
620
1
화면이 야곰님처럼 로드되지 않아 질문드립니다.
0
375
2
버튼 이미지 크기가 조절이 안 되는데 어떤 부분을 조정해야 할까요?
0
2176
1
코드블록 10-3-5 에러
1
207
0
info에서 자동완성이 나오지 않는데 따로 설정을 해주어야 하는 부분인가요?
0
262
1
star buton
0
361
1
Singleton 관련 질문.
0
250
1
로컬 유저 노티피케이션에서 반복 주기 설정 방법 문의 드립니다.
0
531
0
Todo 앱에서 로컬 노티피케이션 해제 시 질문 드립니다.
0
352
1
ios13이 생기고 변경점 관련
0
204
1
8번 프로젝트
0
189
1
todo 앱에서 파일 저장 기능에 대한 질문입니다.
0
270
1
todo앱 User Notification에서 질문이 있습니다
0
437
1
9번 프로젝트 질문
1
277
2
9번 프로젝트 자료 질문
0
260
1
8번 프로젝트 > 도전과제 2번 질문
0
214
2
Todo 앱에서 일정 추가가 바로 반영되지 않습니다.
1
434
6
Todo 앱에서 DateFormatter 사용 관련 질문 드립니다.
0
289
1
5번 프로젝트 - 나머지 화면 구성하기
1
189
1
웹브라우저 - 코드로 기능 구현하기
1
567
3
어시스던트에 매뉴얼이 없습니다.
0
252
1
제공된 코드블럭 파일
0
243
2

