내 데이터 소스와 다음 코드 줄에서 행을 삭제하려고합니다.
if let tv = tableView {
다음 오류가 발생합니다.
조건부 바인딩의 이니셜 라이저에는 UITableView가 아닌 선택적 유형이 있어야합니다.
다음은 전체 코드입니다.
// Override to support editing the table view.
func tableView(tableView: UITableView, commitEditingStyle editingStyle:UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
if let tv = tableView {
myData.removeAtIndex(indexPath.row)
tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
다음을 어떻게 수정해야합니까?
if let tv = tableView {
variable with getter/setter cannot have an initial value
는 초기화 후 남은 {} 블록을 제거하여 해결되었습니다. ala이 답변 : stackoverflow.com/a/36002958/4544328
tableView
옵션 값이 아니라,이 전무인지 여부를 확인 할 필요가 없습니다. 직접, I 평균 제거하는 것이 사용할 수 있도록if let
그냥 사용tableView
하는 기능에