2014-06-14 2 views
-1

this page에는 스위프트 옵션에 대한 간단한 설명이 있습니다.스위프트 옵션에 대한 미친 설명

if let p = partitionArray([1, 2, 3, 4] as NSArray?) { 
    // this code will be called 
} 

if let p = partitionArray([1, 2, 3] as NSArray?) { 
    // this code won't be called 
} 

U의 WOT :

사람은 다음과 같이 미쳤어 예를 가지고? 두 번째 배열에 하나의 요소가 적다는 것을 제외하면 이들은 동일한 코드입니다. 두 번째가 실행되지 않는 이유는 흑 마술이거나 그 사람은 정말로 나쁜 것들을 흡연합니다. 다시

partitionArray([1, 2, 3, 4] as NSArray?)![0] // will work fine 
partitionArray([1, 2, 3] as NSArray?)![0] // will crash 

같은 일 :

그는이 다른 예를 주었다.

간단한 설명 인 경우 이해가되지 않습니다. 너희들은 설명 할 수 있니?

+5

그는 분명하게 다음과 같이 말합니다 : "우리는 두 개의 똑같은 크기의 ** 파티션으로 어레이를 나누고 싶을 것이라고 상상해보십시오." –

+0

나는 그것을 얻었습니다. 감사합니다 – SpaceDog

+0

이 질문은이 장소에 부적절한 수다스러운 스타일로 작성 되었기 때문에이 주제는 오프 주제로 보입니다. –

답변

5

파티션 기능이

if (p.count % 2 != 0) return nil; 

및 전무 않습니다! 충돌 할 것입니다

+0

아, 이제 알겠습니다. 나는 두 번째 줄에서 nil을 반환 할 것이고 아무런 메시지가 없으면 신속하게 메시지가 충돌하지 않고 통과하는 것을 허용하지 않는다고 가정하고 있습니다. 아 ... 감사합니다. – SpaceDog

관련 문제