UITableViewCells 배열을 만들려고합니다. 그리고 셀을 추가하기 전에 매개 변수를 사용하여 초기화해야합니다. 셀을 초기화하려고하면 클래스의 두 속성이 정의되지 않았다는 오류가 발생합니다. 그러나 내가 정의한 후에 변수가 초기화되기 전에 사용되었다는 오류가 발생합니다. 다음은 클래스매개 변수를 사용하여 사용자 지정 UITableViewCell 초기화
class SimpleCellClassTableViewCell: UITableViewCell {
@IBOutlet var artist: UILabel!
@IBOutlet var picture: UIImageView!
@IBOutlet var songTitle: UILabel!
@IBOutlet var sender: UILabel!
var audioFile: AnyObject? = nil
var mediaType: songType! = nil
var id: NSNumber! = nil
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
func configureCell(Title title: NSString?,
File audioFile: AnyObject?,
Type mediaType: songType,
Artist artist: NSString?,
Image image: UIImage?,
Sender sender: NSString?,
ID id: NSNumber?) -> UITableViewCell {
self.audioFile = audioFile
self.mediaType = mediaType
if let newSender = sender{
self.sender.text = newSender as String
}
if let newTitle = title{
self.songTitle.text = newTitle as String
}
if let newImage = image {
self.picture.image = newImage
}
if let newArtist = artist {
self.artist.text = newArtist as String
}
if let newId = id {
self.id = newId as NSNumber
}
return self
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
입니다 그리고 이것은 임 초기화 한 후 구성 세포의 방법으로 값을 추가하려고 곳이다 :
let newSongCell = SimpleCellClassTableViewCell.init(style: .Default, reuseIdentifier: "SimpleCell")
newSongCell.configureCell(Title: setTitle,
File: setAudioFile,
Type: setMediaType,
Artist: setArtist,
Image: setImage,
Sender: setSender,
ID: setId)
파일 및 형식의 매개 변수가 동일한 오류를 던지는 사람입니다 . 또한 NSCoder에서 이니셜 라이저를 사용해야하는 경우 인수로 넣어야하는 것은 무엇입니까?
var mediaType : songType! = nil //이 코드 줄을 확인하십시오. 으로 변경하십시오. var mediaType : songType? = nil – Bharath