2
나는 Android 개발자이며 최근에 Swift를 배우기 시작했습니다. 나는 UIStoryboard
에 UITableView
에 맞춤 클래스를 할당 할 수없는 문제에 직면 해있다. 클래스 이름을 작성하고 Enter 키를 누르면 iMac에서 경고음을냅니다. 나는이 문제 양식 시간을 고수했다. 누군가 나를 안내 할 수 있습니까? 여기 TableViewController에 사용자 정의 클래스를 할당하는 방법
는
import Foundation
import UIKit
class MemeTableViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
var memes : [Meme]!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let appDelegate = UIApplication.shared.delegate as! AppDelegate
memes = appDelegate.meme
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return memes.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "tablecell")!
let meme = memes[(indexPath as NSIndexPath).row]
cell.imageView?.image = meme.memeImage
cell.textLabel?.text = "\(meme.topText)....\(meme.bottomText)"
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let controller = self.storyboard?.instantiateViewController(withIdentifier: "MemeDetailViewer") as! MemeDetailViewer
let meme = memes[(indexPath as NSIndexPath).row]
controller.memeImage = meme.memeImage
}
}
덕분에 클래스를입니다! 당신이 다음 UIStoryboard
에서 클래스 이름을 지정하기 전에
클래스도 UITableViewController의 하위 클래스 여야합니다! 당신은 UITableViewController에 할당하고 있습니다. –
그러면'''UITableViewController'''를 사용하면'''UITableViewDataSource'''와'''UITableViewDelegate'''가 필요하지 않습니다? –
예, 물론 필요하지 않습니다. 대리자 기능을 직접 사용할 수 있습니다. –