重命名 class 导致 IBOutlet 连接失败
Renaming class causes IBOutlet connection to fail
我重命名了一个 class,它恰好有一个出口连接到故事板文件中名为 mainLabel 的标签。当我 运行 我的程序时,它崩溃并给我错误:"this class is not key value coding-compliant for the key mainLabel".
其他 SO 答案表明这是由插座连接不良引起的,因此我移除了连接并移除了所有未解决的问题。在我的代码中尝试将标签重新连接到插座时,出现错误 Could not insert new outlet connection: Could not find any information for the class 名为 CourseTableViewCell
其他 SO 答案提供了我已经尝试过但没有奏效的解决方案,包括:
- 删除对文件的引用并重新添加它
- 正在清理项目
- 正在删除派生数据文件夹
- 删除标签并重新添加
- 从代码拖到情节提要而不是相反
我确保身份检查器中 "Custom Class" 下列出了正确的文件名。如果大家有其他想法,请告诉我!
如有必要,我可以提供更多信息。
以下步骤是您从对象中查找现有 IBOutlet / IBAction 所需执行的操作。可以是 label
、button
等。以及如何删除它。
- 打开
Main.storyboard
。 Document outline window
应该默认显示在故事板 window 的左侧。如果没有,请单击故事板 window 左侧 View As: iPhone 7
旁边的图标。
- Select
storyboard
中的对象,从 storyboard
的 document outline
中找到然后 select 更容易。
- 打开最右边的
Utility window
如果还没有打开。使用快捷键 Cmd-Option-0
(command-option-zero),切换实用程序 window 的 open/close。
- 通过单击
right arrow
图标(最右上角的图标)打开连接检查器。通过单击连接旁边的 x
图标,删除任何不需要的 IBOutlet / IBAction 或任何其他要删除的连接。
- 重新建立连接。对于特定的
object
,您也可以直接从 connection window
中 element
旁边的 circle
拖动。否则按照您现在所做的方式添加连接。
至于Class文件等编码文件。您可以只注释掉之前具有 IBAction
或 IBOutlet
的行。并手动重新键入同一行(不要 cut and paste
)。加回 storyboard
的连接,你应该没问题。不要忘记删除您注释掉的不再需要的行。
我重命名了一个 class,它恰好有一个出口连接到故事板文件中名为 mainLabel 的标签。当我 运行 我的程序时,它崩溃并给我错误:"this class is not key value coding-compliant for the key mainLabel".
其他 SO 答案表明这是由插座连接不良引起的,因此我移除了连接并移除了所有未解决的问题。在我的代码中尝试将标签重新连接到插座时,出现错误 Could not insert new outlet connection: Could not find any information for the class 名为 CourseTableViewCell
其他 SO 答案提供了我已经尝试过但没有奏效的解决方案,包括:
- 删除对文件的引用并重新添加它
- 正在清理项目
- 正在删除派生数据文件夹
- 删除标签并重新添加
- 从代码拖到情节提要而不是相反
我确保身份检查器中 "Custom Class" 下列出了正确的文件名。如果大家有其他想法,请告诉我!
如有必要,我可以提供更多信息。
以下步骤是您从对象中查找现有 IBOutlet / IBAction 所需执行的操作。可以是 label
、button
等。以及如何删除它。
- 打开
Main.storyboard
。Document outline window
应该默认显示在故事板 window 的左侧。如果没有,请单击故事板 window 左侧View As: iPhone 7
旁边的图标。 - Select
storyboard
中的对象,从storyboard
的document outline
中找到然后 select 更容易。 - 打开最右边的
Utility window
如果还没有打开。使用快捷键Cmd-Option-0
(command-option-zero),切换实用程序 window 的 open/close。 - 通过单击
right arrow
图标(最右上角的图标)打开连接检查器。通过单击连接旁边的x
图标,删除任何不需要的 IBOutlet / IBAction 或任何其他要删除的连接。 - 重新建立连接。对于特定的
object
,您也可以直接从connection window
中element
旁边的circle
拖动。否则按照您现在所做的方式添加连接。
至于Class文件等编码文件。您可以只注释掉之前具有 IBAction
或 IBOutlet
的行。并手动重新键入同一行(不要 cut and paste
)。加回 storyboard
的连接,你应该没问题。不要忘记删除您注释掉的不再需要的行。