UICollectionViewCell의 콘센트가 왜없는가요?
Interface Builder에서 사용자 정의 UICollectionViewCell을 작성하고 뷰를 클래스에 바인딩 한 다음 문자열을 사용하여 문자열의 레이블로 설정하려고하면 tha 레이블에 nil 값이 있습니다.
override func viewDidLoad() {
super.viewDidLoad()
// Register cell classes
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
}
override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
var cell: LeftMenuCollectionViewCell
cell = collectionView.dequeueReusableCellWithReuseIdentifier("ls", forIndexPath: indexPath) as LeftMenuCollectionViewCell
println(cell.label) // <- this is nil, why??
cell.label.text = "asd"
return cell
}
그리고 서브 클래 싱 된 셀 :
class LeftMenuCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
다시 전화 하고 있습니다. 스토리 보드를 사용하는 경우 이것을 호출하고 싶지 않습니다 . 스토리 보드에있는 내용을 덮어 씁니다.
당신은 여전히 거세한 숫양 문제를 확인하는 경우 reuseIdentifier
입니다 동일한 의 dequeueReusableCellWithReuseIdentifier
와 의를 storyboard
.
이 줄을 제거하십시오.
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
xib를 사용하는 경우이 코드 줄을 viewdidload에 추가했는지 확인하십시오.
목표 C :
[self.collectionView registerNib:[UINib nibWithNibName:@"MyCell" bundle:nil] forCellWithReuseIdentifier:@"MyCellIdentifier"];
빠른:
collectionView.register(UINib(nibName:"MyCell", bundle: nil), forCellWithReuseIdentifier:"MyCellIdentifier")
그 놈들을 등록해야 해요!
collectionView.register(UINib(nibName: "CustomCell", bundle: nil), forCellWithReuseIdentifier: "CustomCellId")
비슷한 문제가 있었지만 레이블 텍스트를 변경할 수 있도록 CollectionViewCell을 위임하지 않은 것이 실수였습니다.
등록하는 두 가지 방법이 있고 첫 번째로 잘못된 방법을 사용하고있는 것 같습니다. 두 번째 옵션으로 등록 된 사용자 지정 xib보기가 있으며 데이터가 있습니다!
1:
collectionView?.register(YourItemClassName.self, forCellWithReuseIdentifier: "yourIdentifier")
2 :
collectionView?.register(UINib(nibName: "YourItemClassName", bundle: nil), forCellWithReuseIdentifier: "yourIdentifier")
참고 URL : https://stackoverflow.com/questions/25165195/why-is-uicollectionviewcells-outlet-nil
'IT story' 카테고리의 다른 글
C #의 배열에서 요소를 삭제하는 방법 (0) | 2020.06.23 |
---|---|
Rails 3.2, FATAL : 사용자에 대한 피어 인증 실패 (PG :: Error) (0) | 2020.06.23 |
URL에서 매개 변수 검색 (0) | 2020.06.23 |
IIS Express 웹 서버를 시작할 수 없습니다. URL을 등록하지 못했습니다. 액세스가 거부되었습니다. (0) | 2020.06.23 |
[Vue 경고] : 요소를 찾을 수 없습니다 (0) | 2020.06.23 |