2017-12-23 11 views
1

collectionView에 대한 사용자 정의 셀이 있으며 내부에 3 개의 didSet 변수가 있습니다. 내 문제는 레이블에 표시 할 각 didSet에서 1 환경 설정을 사용해야하지만 그렇게 할 방법을 알아낼 수 없다는 것입니다. 어떤 제안? 사용자 정의 셀에서 다른 didSet 변수의 환경 설정을 사용하는 방법은 무엇입니까?

는 당신의 도움을 주셔서 감사합니다 label.text = 채널 동영상, 기간, pubDate의

:

class VideosCell: UICollectionViewCell { 


var playlistDataFromAPI: playListsnippet? { 
    didSet{ 
     guard let pubDate = playlistDataFromAPI?.snippet.publishedAt else {return} 
    } 
} 

var videoSnippet: videoSnippet? { 
    didSet{ 
     guard let duration = videoSnippet?.contentDetails.duration else {return} 

    } 
} 

var channelData: channelSnippet? { 
    didSet{ 
     guard let channelName = channelData?.snippet.title else {return} 

    } 
} 

는 지금은 같은 라벨에 표시하기 위해 모두 함께 pubDate의, 기간 및 채널 동영상을 사용하고자!

+0

'didSet' 절이 종료하자마자 더 이상 존재하지 않을 로컬 변수를 설정하고 있습니다. 로컬 정수 대신 셀에 개인 속성을 설정하고 싶습니까? – Paulw11

답변

0

UIView 또는 UIViewController 하위 클래스에서 표시해야하는 값에 대한 속성이있는 Content라는 중첩 구조체를 선언하는 것이 좋습니다.

그런 다음 Content 유형의 인스턴스 var가 있고 클래스의 아무 곳에서나 해당 속성에 액세스 할 수 있습니다.

이러한 모든 속성을 함께 묶는 것은 사용자가 한 줄의 코드에서 로깅을 위해 JSON (코드 작성 가능으로 설정 한 경우), 클리너 테스트 등 모든 현재 항목을 내보낼 수 있다는 것과 같은 몇 가지 좋은 이점이 있습니다.