错误:具有“retain”属性的属性“myBoolVariableName”必须是对象类型

2023-12-31

我的 .h 文件中的 @interface 定义中有一个 BOOL 值。这是下面的。无论是指针还是非指针,都有同样的问题。

@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
{
 //...more iboutlets defined above
 BOOL *myBoolVariableName;
}

编译时,我在导入 .h 文件的行上收到“错误:带有“retain”属性的属性“myBoolVariableName”必须属于对象类型”。

我在这里找到了关于整数/ nsnumber 的页面:

http://discussions.apple.com/thread.jspa?threadID=1846927 http://discussions.apple.com/thread.jspa?threadID=1846927

所以,看来我不能在 @interface 定义中使用 BOOL 值。我可以用什么来代替?

对于 BOOL / 布尔值我应该做什么?


我猜稍后在你的界面中会有类似这样的内容:

@property (retain) BOOL *myBoolVariableName;

这意味着创建一个值为 BOOL 指针的属性,并使用保留语义。

您的问题是 BOOL * 是指向内存字节的指针,而不是指向对象的指针。而retain仅适用于对象。

以下是创建 BOOL 属性的方法。

@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
    BOOL myBoolVariableName;
}

@property myBoolVariableName;

@end

重要的区别是变量被声明为“BOOL”,而不是“BOOL *”,并且属性没有(保留)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:具有“retain”属性的属性“myBoolVariableName”必须是对象类型 的相关文章

随机推荐

  • NHibernate.MappingException:没有持久化:XYZ

    现在 在你说之前 我did谷歌和我的hbm xml file is嵌入式资源 这是我调用的代码 ISession session GetCurrentSession var returnObject session Get
  • 使用 C 从文本文件中打印出数组

    我正在尝试创建一个代码 它从纺织品中读取数据 然后将数据存储到内存中 打印到屏幕上以便用户可以读取它 但它仍然保存到内存中 以便您可以将其用于其余部分节目的 这是纺织品的样品 75 nevermind nvm not much nm no
  • 在Java中获取文件/目录所有者的名称[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 OSX 上的 Java 中获取文件所有者的名称 https stackoverflow com questions 3096805 how do i get the name of a fil
  • 类型错误:canvas.getContext 不是函数

    我正在尝试使用 canvas 元素在 Javascript 中为跟随光标的球设置动画 我将对画布对象的引用传递给名为 followMouse 的函数 但是当我尝试获取其上下文时 firebug 给出了以下错误 类型错误 canvas get
  • C++ TR1 正则表达式 - 多行选项

    我认为 表示字符串的结尾 然而 下面的代码给出了 testbbbccc 作为结果 这对我来说非常令人惊讶 这意味着 实际上匹配行尾 而不是整个字符串的结尾 include
  • JUnit:4.8.1“找不到类”

    好吧 我和其他人一样 是 jUnit 的新手 并且很难让它正常工作 我搜索过论坛但提供了答案 我只是不明白 如果有人可以帮助我 我将不胜感激 让我提供基础知识 操作系统 Mac OS X 6 export JUNIT HOME Develo
  • Listviewdefs 中的 SugarCRM Smarty 代码

    我正在尝试使用 Smarty PHP 在 SugarCRM 6 5 3 的 ListView custom modules Leads metadata listviewdefs php 中实现自定义功能 这工作正常 customCode
  • 方法返回类型以满足多个接口

    是否可以指定一个返回实现两个或多个接口的对象的方法 假设我们有以下接口 interface FooBar Foo Bar getFooBar interface Foo void doFoo inteface Bar void doBar
  • 如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?

    我想开发一个 flutter 应用程序 用户可以通过一个按钮从在线下载所有视频并将其存储在本地设备上 然后在 Flutter 应用程序上使用视频播放器离线播放这些视频 我通过资产视频做到了这一点 但如果我使用资产中的视频并构建应用程序 那么
  • 红宝石冻结方法

    def track for stat This is a hash with 2 elements of proc symbol gt send stat array gt send stat 0 stat 1 freeze stat cl
  • 多个域上的域级会话 cookie

    如果您希望 ColdFusion 将会话 cookie 创建为域级别 cookie 例如 bar com 而不是 foo bar com 那么您可以在 jrun web xml 中配置它
  • F#:使用可区分联合解构绑定

    open System let x 1 2 let p q x printfn A A x printfn B A A p q let y Some 1 2 try let None y with ex gt printfn C A ex
  • AS3 JSON解析

    我有点进退两难 我有一个 JSON 对象 其格式我不熟悉 以数组开头 而不是一个物体 并且想知道如何在 AS3 中解析它 该对象看起来像 food name pasta price 14 50 quantity 20 name soup p
  • 解密 aws kms 密钥时出现 Nodejs 异步问题

    我在node6中有一个lambda函数 它有5个环境变量 全部用aws kms加密 我有以下方法 它接受加密的密钥并返回解密的密钥 function decryptKMS encryptedKey console log inside de
  • 关闭Redis

    今天我第一次在本地计算机上启动 Redis 然后在关闭 Rails 应用程序后关闭了所有终端窗口 一个小时后 我再次启动Rails应用程序并执行以下操作来启动redis服务器 redis server usr local etc redis
  • 在 LINQ 查询中使用组

    我正在使用 LINQ to CRM 提供商 我正在查询信息 然后使用 LINQ 来查询 LINQ to CRM 查询 以便我可以使用 GroupBy 因为 LINQ to CRM 提供程序不支持它 这是我到目前为止所拥有的 var linq
  • Firebase - 在 Android 中检索数据

    我有一个数据看起来像这样 courses Business KOBuojCGl KVNgCx6l3 courseCode BUS2202 courseName Business Mathematics KOCH9RvYkwIamb0oxi8
  • 安装 VS 2015 update 2 后“底层连接已关闭:发送时发生意外错误”

    安装 Visual Studio 2015 更新 2 后 在尝试调试任何 Web 项目时 我不断收到错误消息 基础连接已关闭 发送时发生意外错误 不知何故 安装此更新后 IIS 10 丢失了我为 HTTPS 设置的 SSL 证书的分配 按照
  • 如何更改Combobox下拉面板的背景颜色

    我想更改组合框下拉面板的背景颜色 我正在使用 WPF 我读过这篇文章 背景颜色项目组合框 WPF https stackoverflow com questions 27963236 backgroundcolor items combob
  • 错误:具有“retain”属性的属性“myBoolVariableName”必须是对象类型

    我的 h 文件中的 interface 定义中有一个 BOOL 值 这是下面的 无论是指针还是非指针 都有同样的问题 interface myCustomViewController UIViewController