[Xcode][Swift]NSObject를 확장하여 String으로 클래스 이름을 지정합니다.
입문
독학 프로그래밍을 시작한 지 약 1년, 업무상 프로그램을 쓰기 시작한 지 2개월, Swift를 시작한 지 1개월 된 Swifter.
제목과 같이 클래스 이름을 얻기 위해 NSObject를 확장하려고 합니다.Storyboard가 아닌xib로 화면 이동을 하거나 자체 제작한 UITableViewCell을 사용하면 문자열로 클래스를 지정하고 싶지만 여기를 간소화하여 타자 오류의 위험을 줄일 수 있습니다
예제
ViewController.swift
let vc = ViewController("ViewController", bundle:nil)
self.tableView.registerNib(UINib.init("MyTableViewCell", bundle: nil), forCellReuseIdentifier: "MyTableViewCell")
단계
새 파일상호 렌더링 재시작
・ 작성된 문서에 다음과 같이 기술한다.
NSObject+ClassName.swift
import Foundation
extension NSObject {
class func className() -> String {
return String(NSStringFromClass(self).componentsSeparatedByString(".").last!)
}
}
이렇게 하면 이거ViewController.swift
let vc = ViewController("ViewController", bundle:nil)
self.tableView.registerNib(UINib.init("MyTableViewCell", bundle: nil), forCellReuseIdentifier: "MyTableViewCell")
이렇게 사용ViewController.swift
let vc = ViewController(ViewController.className(), bundle:nil)
self.tableView.registerNib(UINib.init(MyTableViewCell.className(), bundle: nil), forCellReuseIdentifier: MyTableViewCell.className())
결론
좋아.
개선점
Reference
이 문제에 관하여([Xcode][Swift]NSObject를 확장하여 String으로 클래스 이름을 지정합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nasteng/items/24d0a10f87d186a16449텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)