我正在尝试在视图中定义的数组内添加一些图像的集合视图。该应用程序构建并运行正常,但当我导航到这个名为“Portfolio”的特定部分时,应用程序崩溃,在控制台中给我这个。
致命错误:在解包可选值时意外发现nil
任何人都可以从下面的代码中找出正在发生的事情吗?我已经尝试将问题包装在if语句中并使其不会崩溃,但之后图像将根本不显示。如果我只是定义一个UIBackgroundColor,它的工作方式应该如此。
import UIKit
class PortfolioView: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var array:[String] = []
override func viewDidLoad() {
array = ["PortImage1","PortImage2","PortImage3","PortImage4","PortImage5","PortImage6","PortImage7"]
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return array.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! CollectionViewCell
cell.imageView.image = UIImage(named: array[indexPath.row])
cell.imageView.layer.cornerRadius = cell.imageView.frame.size.width / 2
cell.imageView.clipsToBounds = true
cell.imageView.layer.borderWidth = 2.0
cell.imageView.layer.borderColor = UIColor.whiteColor().CGColor
return cell
}
}
答案 0 :(得分:0)
从表面上看,只是因为你没有提供任何的相关信息而猜测,看来你已经定义了一个具有imageView
的类CollectionViewCell属性,但是您无法通过该imageView
属性的出口连接故事板/笔尖中的任何图像视图。因此,在加载时,您的imageView
属性为零。
答案 1 :(得分:0)
在你的情况下,单元格无法找到imageView并崩溃,因为它发现它为零。 将标签说“100”添加到故事板中的imageView。 然后在按如下方式将单元格出列后,将以下行添加到代码中 : -
public void onRadioButtonClicked(View v)
{
//require to import the RadioButton class
RadioButton rb1 = (RadioButton) findViewById(R.id.Radio_one);
RadioButton rb2 = (RadioButton) findViewById(R.id.Radio_two);
//is the current radio button now checked?
boolean checked = ((RadioButton) v).isChecked();
//now check which radio button is selected
//android switch statement
switch(v.getId()){
case R.id.Radio_one:
if(checked)
//if first selected
break;
case R.id.Radio_two:
if(checked)
//if second selected
break;
}