1
범위에 일부 변수가 있고 내부 범위에서 재정의하는 경우 내부 범위의 원래 변수에 액세스 할 수 있습니까? 다음은 예입니다외부 범위의 변수 액세스
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCellWithIdentifier("awesomeCell", forIndexPath: indexPath) as! AwesomeTableViewCell
cell.delegate = self
<outscope>.cell = cell
} else {
cell = UITableViewCell()
}
return cell
}
<outscope>
여기에 속성에 대한 self
같은; 이 일을 할 수있는 방법이 있습니까? 는 IF 블록의 코드에
호 사용 상이한을 변수 이름 또는 "즉시 평가 된 종결". 그런데 왜 else case에서 구성되지 않은 셀을 만들고 반환하려고할까요? "누락 된 반환"오류 메시지가 표시되지 않도록 더 나은 옵션을 보려면 http://stackoverflow.com/questions/30189505/missing-return-uitableviewcell을 비교하십시오. –
@MartinR 고마워요! 즉시 closure가 좋은 아이디어로 보인다고 평가되었습니다. else case의 경우, 유효한 코드를 만들기 위해 가장 짧은 템플릿을 사용했습니다. –
@MartinR 당신의 링크를 보았습니다. 그렇습니다.'@noreturn' 함수는 더 우아한 템플릿으로 보입니다 –