수정 :선택 바인딩 기능은 선택 체인과 어떻게 다릅니 까?
나는 Raywenderlich의 튜토리얼을 통해 학습하고 있습니다. 내 질문은 왜 우리는 선택적 바인딩, 즉 if let
을 사용 하는가? 선 A & B와 비슷한 선택 체인을 사용할 수없는 이유는 무엇입니까?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("IconCell", forIndexPath: indexPath)
let icon = icons[indexPath.row]
cell.textLabel?.text = icon.title // Line A
cell.detailTextLabel?.text = icon.subtitle // Line B
if let imageView = cell.imageView, iconImage = icon.image { //Line C
imageView.image = iconImage
}
강사의 설명은 다음과 같습니다
때 우리 예를 우리는 문자열을 기반으로 이미지에 대한 참조를 가져 아이콘 ... 어떤 이유에서 그 이미지가 번들에 포함되어 있지 않은 경우, 이름이 변경되거나 삭제 된 경우 아이콘에 이미지가 연결되지 않을 수 있습니다. let이 있는지 확인하려면 let을 사용해야합니다.
아직 차이점을 이해하지 못합니다. 하지-전무는
cell.imageView
경우 icon.image
이 전무는 동안
바인딩을 사용하면 else 문을 사용할 수 있습니다. 그 외의 경우에는 귀하의 케이스에 큰 차이가 보이지 않습니다. – Jared
@ 자레드 그게 전부입니까? 그리고 당신이 else 문에 아무것도 넣지 않으면, 거기에 어떤 이점이 있습니까? – Honey
if let 문에서도 더 이상 선택적 체인을 사용할 필요가 없습니다. 여러 줄의 코드를 작성하는 것이 좋습니다. 그 외에는 실제로 이점이 없습니다. – Jared