【问题标题】:iPhone - I've changed the XIB FileOwner, but it keeps hitting methods in the original File OwneriPhone - 我已经更改了 XIB FileOwner,但它一直在原始文件所有者中使用方法
【发布时间】:2011-12-09 05:31:33
【问题描述】:

所以...

  1. 我有一个 HomeViewController,带有一个 IBAction DoStuff。
  2. 我有一个具有 HomeViewController 文件所有者的 XIB,其中包含 正确调用 DoStuff 的按钮;

  3. 然后创建了一个 NewViewController,将 DoStuff 方法复制到其中。

  4. 在 XIB 中,我随后将文件所有者的类更新为 NewViewController,并删除并重新将动作添加到按钮 用于 DoStuff。

但是...按钮仍在从 HomeViewController 调用 DoStuff。

还有其他地方我需要删除此引用吗??

非常感谢,

R

【问题讨论】:

  • 重新检查 File's Owner 并且您正在从正确的 nib 文件加载

标签: iphone interface xib builder viewcontroller


【解决方案1】:

您确定从正确的控制器加载 nib 文件吗?请注意,“文件所有者”只是 nib 文件中的占位符,它必须是在代码中创建的;除了文件所有者中的“类名”之外,IB 只需要提供对其 IBAction 和 IBOutlet 的引用,但您需要确保在代码中正确加载它。

所以如果在旧代码中你有类似的东西:


HomeViewController *myController = [[HomeViewController alloc] initWithNibName:nil bundle:nil];

您必须将当前代码更改为:


NewViewController *myController = [[NewViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];

在这种情况下,您将继续加载相同的 nib 文件,但所有对象都将被取消归档并分配给代码中指定的正确文件所有者。

请检查这一点,如果它不起作用,请发布您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多