2015-09-17 8 views
11

После обновления Xcode 7 некоторые из моих имен диспетчеров имен были изменены на делегирование сцены, что с этим делать? Благодаря! enter image description hereXcode 7 рассказы об источниках рассылок для раскадровки

Изменение названия не помогает enter image description here

+0

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

+1

@HelgeBecker Ну, похоже, как минимум 5 человек столкнулись с этой проблемой в течение нескольких недель, поэтому может быть что-то с этим. Боюсь, мне не разрешают делиться нашим раскадровкой. –

+0

@ Тед: Роджер, это не отдельный вопрос. Жаль слышать. Где вы можете воспроизвести проблему в новом проекте, который не содержит критически важных данных? –

ответ

10

Попробуйте переименовать контроллер все, что вы хотите, чтобы это было:

Шаг 1 Выберите «контроллер», названный «Делегат "на скриншоте.

enter image description here

Шаг 2 Нажмите снова на "делегат", или нажмите клавишу [Enter], чтобы войти в режим переименования.

enter image description here

Шаг 3 Переименуйте его в чем-то значимым.

enter image description here

Шаг 4 Deselect или нажмите [Enter] еще раз, чтобы сохранить изменения. Имя сцены будет обновлено в соответствии с указанным вами именем.

enter image description here

+0

Спасибо, я не знаю, почему я об этом не думал. Но я все равно хотел бы выяснить, в чем проблема в файле раскадровки. –

+2

Это не всегда работает - имя изменено обратно после переименования! –

+4

Переименование карт в документ: ярлык в Identity Inspector - переименуйте его там, он всегда будет работать. –

1

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

Если вы выберите раскадровку в проводнике проекта, вы можете открыть исходный код. Раскадровки - это всего лишь файлы XML. Как выглядит viewcontroller? Сравните это со ссылкой, например, с недавно созданной. Возможно, вы можете поделиться частью xml диспетчера представлений? Пример с одним (из коробки) контроллера представления:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8191" systemVersion="15A284" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"> 
    <dependencies> 
     <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/> 
    </dependencies> 
    <scenes> 
     <!--View Controller--> 
     <scene sceneID="tne-QT-ifu"> 
      <objects> 
       <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="eee" customModuleProvider="target" sceneMemberID="viewController"> 
        <layoutGuides> 
         <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> 
         <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> 
        </layoutGuides> 
        <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> 
         <rect key="frame" x="0.0" y="0.0" width="600" height="600"/> 
         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 
         <animations/> 
         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> 
        </view> 
       </viewController> 
       <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> 
      </objects> 
     </scene> 
    </scenes> 
</document> 
1

Проверить название свойство вашего View Controller, имя контроллера представления приходит либо из заголовка собственности или класса. (Название с старшинства)

Screenshot

Также вы может переименовать контроллер вручную, если вы хотите, как предложено Стивом

2

Добавление к @Steve Wilford Ответ:

В доске объявлений Xcode 7 есть ограничение по длине имени контроллера вида, которое будет отображаться на левой панели, которое составляет 15 символов. Все имена, имеющие более 15 символов, будут изменены на странное имя, например «Сцена делегата» или «Сцена источника данных».

0

Вот проект, в котором вы можете четко видеть, что это ошибка интерфейса Builder. Я сообщил об этом, но не ответил. Идентификатор - 22972580.

DelegateBug.zip

+0

Ошибка все еще существует. Я реализовал карусель. Когда я установил источник данных и делегат моего UIVIew в контроллер представления («желтый круг»), он изменил название сцены на «Источник данных». Попробовали переименовать сцену, заголовок, идентификатор раскадровки и т. Д., Ничего не помогает. Я даже попытался изменить его в исходном коде рассказа. –

+0

На самом деле, @bunty имеет правильное значение в своем ответе ниже. Хотя первоначально у меня было длинное название сцены (это было прекрасно видно как название сцены), добавление моего делегата и источников данных UIVIew в ViewController изменило имя на источник данных для каждой соответствующей сцены. Но сокращение названия теперь, похоже, делает трюк. –

Смежные вопросы