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

Загрузка файла пера в файл пера

Я настроил файл пера, чтобы включить некоторые основные элементы UIView в более крупный элемент UIView. Два элемента являются подклассами класса UIImageView (измерители для отображения данных пользователю). В любом случае, на мой взгляд, я хотел бы, чтобы эти счетчики были их собственным файлом пера, поскольку они имеют ряд визуальных элементов, и ради здравомыслия было бы неплохо поместить счетчик индивидуально в свой собственный файл пера. Я также хотел бы иметь один контроллер для счетчика и других основных элементов в родительском файле nib. Я установил дочерние объекты наконечника счетчика в родительском наконечнике для своего пользовательского класса (скажем, UIMeter). У меня возникли проблемы с загрузкой дочернего пера в родительский nib, когда я переопределяю метод UIMeter initWithCoder, он создает бесконечный цикл, поскольку я пытаюсь использовать loadnibnamed для доступа к файлу дочернего пера для загрузки. Я также пытался загрузить наконечник с родительского контроллера, но он загружает как дочерний наконечник, так и наконечник из loadnibnamed. Это, вероятно, будет иметь больше смысла с кодом и изображениями:

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

-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if(self)
{
    self = [[[NSBundle mainBundle] loadNibNamed:@"PowerMeterView" owner:self options:nil] firstObject];
}
return self;

}

В родительском контроллере я набираю вид следующим образом:

-(void)loadView
{
if(![self isViewLoaded])
{
    GameMenuView *menuView = [GameMenuView new];
    menuView.userEnergy = [[[NSBundle mainBundle] loadNibNamed:@"PowerMeterView" owner:self options:nil] firstObject];
    menuView.userReactor = [[[NSBundle mainBundle] loadNibNamed:@"PowerMeterView" owner:self options:nil] firstObject];
    _gameMenuView = menuView;
//--This places the child nib from the file on the view but it is not replacing the UIMeter in the parent nib
    [menuView.userEnergy setFrame:CGRectMake(0, 0, 20, 20)];
    [menuView addSubview:menuView.userEnergy];
    [self setView:menuView];
}

}

Дочерний файл пера PowerMeterView.xibРодительский файл пера, красные прямоугольники - это двухметровые заполнители подкласса

17.02.2014

Ответы:


1

чтобы выйти из цикла, вы можете проверить, не загружены ли элементы, которые вы пытаетесь инициализировать с помощью цикла

например, если у вас есть представление под названием "метка"

тогда ваш initWithCoder будет выглядеть так

-(id) initWithCoder:(NSCoder *)aDecoder{
     self = [super initWithCoder:aDecoder];
       if (self){
            if(!self.label){
               load the nib

            }
      return self;

}
05.05.2014
Новые материалы

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

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

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

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

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

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

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