Swift, представление коллекции и раскадровка, обнуляются при использовании viewWithTag на другой метке

Я вижу какое-то странное поведение, с которым мне хотелось бы получить некоторую помощь. У меня есть ячейка представления коллекции, в которой изначально была одна метка с тегом 43.

Я устанавливаю значение метки, используя следующий код:

func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
    let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("playerCell", forIndexPath: indexPath) as UICollectionViewCell
    cell.backgroundColor = UIColor.orangeColor()
    let mintmplabel : UILabel = cell.viewWithTag(43) as UILabel
    mintmplabel.text = "fruktkaka"
    //(cell.viewWithTag(43) as UILabel).text =  object.valueForKey("playerName").description
    //let mintmplabelb : UILabel = cell.viewWithTag(41) as UILabel
    //mintmplabelb.text = "megaman"
    //(cell.viewWithTag(41) as UILabel).text =  object.valueForKey("playerName").description


    return cell
}

Работает как положено! Однако позже я попытался добавить еще одну метку в ячейку представления коллекции и присвоить ей метку 41. Когда я раскомментирую строки

    //let mintmplabelb : UILabel = cell.viewWithTag(41) as UILabel
    //mintmplabelb.text = "megaman"

Я получаю следующую ошибку (в строке "let"):

фатальная ошибка: неожиданно найден ноль при развертывании необязательного значения (lldb)

Текущее сообщение отображается в исходном коде: "Поток 1: EXC_BAD_INSTRUCTION (код =EXC_I386_INVOP, субкод =0x0)"

Я перепробовал много разных подходов, но просто не могу заставить его работать. Я также попытался удалить обе метки и повторно добавить их (с одинаковыми метками). Это разрывает ярлык с тегами 43 и 41!

Либо я что-то упустил, как использовать теги, либо наткнулся на какую-то ошибку.

Я использую Xcode 6 бета 5.

Любая помощь будет принята с благодарностью, я не знаю, где искать дополнительную информацию.

Спасибо / Мартин

1 ответ

Итак, кажется, что задание вопроса здесь заставляет меня найти ответ.. Я не знаю, почему это сработало, но это сработало.

Я выбрал метку, которая не работала, и в раскадровке "Инспектор атрибутов" флажок с надписью "Установлено" был снят, а под флажком с надписью "Установлен wC hR установлен". Сняв флажок "wC hR Установлено" и отметив флажок "Установлено", он снова начал работать.

Я понятия не имею, что это делает, обновит ответ, если я узнаю.

Другие вопросы по тегам