为啥我不能在可可中使用名为“title”的 IBOutlet?
Posted
技术标签:
【中文标题】为啥我不能在可可中使用名为“title”的 IBOutlet?【英文标题】:Why I cannot use IBOutlet named "title" in cocoa?为什么我不能在可可中使用名为“title”的 IBOutlet? 【发布时间】:2011-07-15 18:55:08 【问题描述】:我有视图控制器,里面有 IBOutlet UITextField *title
,它与 .xib 文件中的一些 UITextField 连接。当我尝试将此视图控制器推送到导航控制器时,我的应用程序会抛出 NSException。当我更改 IBOutlet 的名称时,一切正常。我看到这里有些人有类似的问题,但我问为什么会这样?是保留字还是bug?
【问题讨论】:
【参考方案1】:UIViewController
已经有一个类型为 NSString
的 title 属性。这是您通常在导航控制器中看到的标题。使用更好的名称,例如titleLabel
,否则会出现设置标题的竞赛,具体取决于设置的时间,它将是NSString
和其他一些 UI 元素。您的场景听起来好像标题被设置为 UI 元素,当您的导航控制器显示它时,它正在为 NSString 发送一条消息,这将导致异常。
【讨论】:
【参考方案2】:UIViewController
已经有一个名为 title
的属性与 IBOutlet 冲突。
【讨论】:
【参考方案3】:UIViewController 已经有一个名为 title 的属性。您不能使用相同的名称创建另一个属性。选择一个更好的名字。
【讨论】:
以上是关于为啥我不能在可可中使用名为“title”的 IBOutlet?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能创建一个名为“Album”的 Doctrine 模型
为啥我不能从 onclick 属性调用名为 clear 的函数?