2016-09-13 2 views
1

나는 ArrayNSDictionarydeejayTweetsDictionary입니다. 선택 키 likes 내에서 ArrayNSDictionary입니다.Swift/옵션 값의 존재 확인 방법

지금 다음을 확인하고 싶습니다. user == likes?.valueForKey(user) as! String.

내 코드는 userlikes 내에있는 한 정상적으로 작동합니다. 나는 다른 계정으로 로그인하는 경우 - 다른 user으로의 응용 프로그램 충돌 :

if likes?.valueForKey(user) as! String == user { 

어떻게 확인할 수 있습니다 내 likes는 선택 사항이며 다른 userNSDictionaries를 포함 할 수있는 경우 if 문?

 let tweets = deejayTweetsDictionary[indexPath.row] 

     let likes = tweets.valueForKey("likes") 
     let user = backendless.userService.currentUser.objectId 

     if likes != nil { 

      if likes?.valueForKey(user) as! String == user { 
       cell.liked = 1 
      } else { 
       cell.liked = 0 
      } 
     } 

enter image description here

다시 : likes[user:user]

질문의 무한 번호를 포함 할 수있다 : 어떻게 확인합니까 내 경우 user에 문 likes 내에 있지 않은 경우? 도움말은 매우 감사하겠습니다.

+0

스위프트 언어 안내서 – vadian

답변

2

충돌 때문에 라인이 방법을 시도

if likes?.valueForKey(user) as! String == user { 

에서 강제 포장을 벗긴이다 :

if let userExist = likes?.valueForKey(user) as? String where userExist == user { 

     //Do your work. 
} 

당신이 선택 바인딩 또는 가드 키워드를 사용해야합니다.

+0

의 * 기본 사항 *을 읽으십시오. 저에게 적합합니다. 대단히 감사합니다 –

+0

다행입니다. – Amit89

1

답변을 올바르게 이해할 수 있을지 잘 모르겠습니다. 선택적 값을 언 래핑 할 때 앱이 다운 되나요?

+0

정말 고마워요.하지만 다른 대답은 쉽게 해줬습니다. –