Nano Hash - криптовалюты, майнинг, программирование

Создание массива изображений и случайное отображение одного из них на Apple Watch

Я пытаюсь добавить свое первое расширение для Apple Watch, но у меня возникают проблемы с созданием массива для приложения. Когда я запускаю приложение, оно падает, и в моем массиве появляется эта ошибка:

Тема 1: EXC_BAD_INSTRUCTION (код = EXC_I386_INVOP, субкод = 0x0)

Ниже приведен мой код, все, что я хочу, это изменить изображение на случайное изображение из массива каждый раз, когда нажимается кнопка:

import WatchKit
import Foundation

class InterfaceController: WKInterfaceController {

    let runeArray = [UIImage(named: ("Fehu.png"))!, UIImage(named: ("Uruz.png"))!, UIImage(named: ("Thurisaz.png"))!]

    @IBOutlet var runeImage: WKInterfaceImage!

    override func awake(withContext context: Any?) {
        super.awake(withContext: context)

        // Configure interface objects here.
    }

    override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()
    }

    override func didDeactivate() {
        // This method is called when watch view controller is no longer visible
        super.didDeactivate()
    }

    @IBAction func castRuneButton() {

        let randomRune = runeArray[Int(arc4random_uniform(UInt32(runeArray.count)))]
        runeImage.setImage(randomRune)
    }
}

введите здесь описание изображения


  • На какой линии происходит сбой? Получение изображения из массива или установка его в представлении? 05.07.2017
  • Почти наверняка (по крайней мере) один из этих файлов изображений не может быть найден, поэтому вы получаете сбой при принудительной развертке. 05.07.2017
  • Привет, ошибка, которую я опубликовал выше, появляется рядом со строкой кода let runeArray. Я вижу, что когда я создал runeImage, это WKInterfaceImage, который является новым для меня, так что мой массив UIImage правильный? я не уверен? 05.07.2017
  • @Paulw11Paulw11 Я проверил имена своих изображений, и они набраны идеально, поэтому я думаю, что мой синтаксис для массива неверен? 05.07.2017
  • Вы добавили изображения или каталог ресурсов в цель приложения для часов? 05.07.2017
  • @Paulw11 Paulw11 Я добавил скриншот, надеюсь, я сделал это правильно. 05.07.2017
  • Вы должны проверить свойства этого каталога активов и убедиться, что он включен как для iOS, так и для целей просмотра. 05.07.2017
  • @Paulw11Paulw11 Если вы хотите написать ответ ниже, и я выберу его как правильный ответ, так как это сработало отлично, цель iOS не была выбрана 05.07.2017
  • Быстрое напоминание, ниже есть ответ, который может быть связан с принятием. 10.10.2017

Ответы:


1

Убедитесь, что вы выбрали цели расширения iOS и Watch для своего каталога ресурсов.

05.07.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..