解释 @property id 的语法

2024-01-10

在使用类似的东西编写委托时,我看到很多代码引用

@property (nonatomic, weak) id<mySuperCoolDelegate> delegate;

通常在哪里id<mySuperCoolDelegate>is,是属性的数据类型。所以问题是:

  1. 我的理解是否正确,上面的语法告诉编译器 id 的数据类型是 mySuperCoolDelegate?

  2. 还有其他可以使用此类代码(为 id 指定的数据类型)的示例吗?

Thanks!


这段代码是 Objective-C 实现接口的方式(就像在 Java 或 Go 中一样)。使用“id”意味着您在编译时不知道它将是什么类型的对象。但是使用尖括号中的协议,您是在告诉编译器,无论它是什么对象,都需要支持“mySuperCoolDelegate”协议。如果不支持,编译器会让您知道。

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

解释 @property id 的语法 的相关文章

  • iOS UIView子类,将透明文本绘制到背景

    我想将文本绘制到 UIView 上的子类上 以便文本从形状中切出 并且视图后面的背景显示出来 就像在 OSX Mavericks 徽标中找到的那样here http www n3rdabl3 co uk wp content uploads
  • 错误域=NSURLErrorDomain代码=-1017“该操作无法

    我刚刚开始 ios 开发 我正在尝试与我的 api 交换数据 当我执行 POST 请求时 一切正常 但当我尝试执行 GET 请求时 出现以下错误 错误域 NSURLErrorDomain代码 1017 该操作无法 完全的 NSURLErro
  • iPhone OS:从匿名对象获取方法和变量列表

    我正在构建我的第一个 iPhone Obj c 应用程序 并且我有大量的数据保存子类 我将它们传递给引用函数 对于 cite 函数 这些对象是匿名的 我需要找到一种方法来访问每个传递对象的所有变量 我一直在使用预构建的 NSArray 和选
  • 在横向模式下向 UIScrollView 添加子视图

    我有一个以横向模式启动的视图控制器 其中有一个 UIScrollView 我尝试创建子视图并将它们添加到 UIScrollView 但视图的框架大小都是纵向大小 这是我的代码 void viewDidLoad super viewDidLo
  • 根据一个属性对数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个名为 NSMutableArrayallItems其中有以下内容ProductData目的 每个对象都有cid cname ctype and cimage 正如您在下面看到的 json 对象没有按顺序出
  • 在 Visual Studio 中创建属性的快捷方式?

    我见过一些人在 C 中创建属性的速度非常快 但他们是如何做到的呢 Visual Studio 当前使用 Visual Studio 2010 中可以使用哪些快捷方式来创建属性 我正在使用 C 例如 public string myStrin
  • 如何在我的应用程序中添加应用内购买

    我想在我的应用程序中使用应用程序购买应用程序 但我不知道如何执行此操作 任何人都可以帮助我如何做以及源代码在哪里 给我链接或代码 这里有一堆链接 应用内购买编程指南 http developer apple com iphone libra
  • Swift 相当于 Objective-C FourCharCode 单引号文字(例如 'TEXT')

    我正在尝试在 Swift 中复制一些 Objective C cocoa 一切都很好 直到我遇到以下情况 Set a new type and creator unsigned long type TEXT unsigned long cr
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • 闭包存储属性初始化有什么好处?

    初始化类的属性时 此代码有什么区别以及优点 缺点 1 let menuBar MenuBar let mb MenuBar return mb and 2 let menuBar MenuBar 两个代码片段都声明并初始化存储的属性 htt
  • 在 log4j2.properties 中配置异步记录器

    我想在 log4j2 properties 文件中使一些记录器异步 在 xml 格式中 您可以添加为
  • 为什么在 init 方法中使用双括号,或者是 1 == (1)?

    评估某些含义时括号有什么作用 我在代码中遇到过这个问题 当检查某些内容并且他们使用 if some condition that returns 1 code 所以我的问题是 这是否正确 我认为它总是错误的 因为 1 不返回任何东西 编辑
  • 生成具有固定数字长度的随机数?

    我正在生成随机数 int randomID arc4random 3000 但我想生成至少 4 位数字的随机数 如 1000 2400 1122 我想知道 Objective C 的代码 请尝试 生成数字 1000 9999 int ran
  • CALayer边框奇怪问题

    我正在向 CALayer 添加边框 但有一些奇怪的行为 在我应用的边框之后出现模糊边框 参见屏幕截图 这是我的代码 void configureLabel self hidden YES self textAlignment NSTextA
  • (Kiss)XML xpath 和默认命名空间

    我正在开发一个 iPhone 项目 需要解析一些 xml xml 可能包含也可能不包含默认名称空间 我需要知道如何解析 xml 以防它使用默认命名空间 由于我需要读取和写入 xml 因此我倾向于使用 KissXML 但我愿意接受建议 这是我
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • watchOS 错误:控制器接口描述中的未知属性

    我将 WKInterfacePicker 添加到情节提要中 并将其连接到界面控制器中的 IBOutlet 运行应用程序时 它在控制台中显示一条错误消息 控制器的接口描述 watchPicker 中的未知属性 Code interface I
  • 接收者'ClassName'是一个转发类,对应的@interface可能不存在

    我目前正在寻找一个UIPickerTable在 UIPickerView subviews 内 所以我循环并执行isKindOfClass UIPickerTable class 它有效 但由于 UIPickerTable 的标头未公开 我
  • 如何为 UIImageView 随机化器实现滑动手势

    我一直在浏览大量的教程和问题 但似乎找不到我要找的东西 我有一种感觉 我只是错过了一个简单的步骤 我仍在学习诀窍 所以请承受和我一起做这个 我正在 xcode 4 3 3 上制作图像随机化器 并且我已经能够使用按钮来随机化图像 但我希望它能
  • ios - 如何声明静态变量? [复制]

    这个问题在这里已经有答案了 C 中声明的静态变量如下 private const string Host http 80dfgf7c22634nbbfb82339d46 cloudapp net private const string S

随机推荐

  • Rails:为什么“格式”(正则表达式)验证失败?

    我对产品价格进行了以下验证 class Product lt ActiveRecord Base PRICE REGEX 1 9 d 0 5 0 d 1 2 validates price presence gt true format g
  • CannotAcquireLockException(Spring、Hibernate、MySQL)

    我们的应用程序使用 Spring Hibernate 和 MySQL 但有时查询会生成无法获取锁定异常 代码如下 public Ledger storeOrUpdateLedgers Ledger ledgers int iClinicId
  • 使用“date”命令获取上个月、当前月份和下个月

    我使用下面的方法来获取上个月 当前月份和下个月的信息Ubuntu 11 04 LAST MONTH date m d last month NEXT MONTH date m d next month THIS MONTH date m d
  • 如何制作一个带有 UITextView 的 UITableViewCell,在 UITextView 的基础上动态调整其高度?

    我想要一个 tablew 视图 其行为类似于 Apple 的 iPhone 联系人应用程序 一个 uitableviewcell 里面有一个 uitextview 这样当我在 uitextview 中写入时 uitextview 会增加其高
  • CSS3 中为什么有供应商前缀? [复制]

    这个问题在这里已经有答案了 我可以理解将它们用于非官方的实验性事物 即不在 CSS3 规范中 以防止名称冲突 但为什么需要阴影等前缀 每个供应商不应该按照 CSS3 规范实现相同的效果吗 编辑 CSS3 最终确定后 前缀会消失吗 我只是好奇
  • 如何修改后台 Cloud Function 的 Google Cloud Pub/Sub 订阅确认截止时间

    通过以下方式为 Cloud Pub Sub 部署后台 Cloud Function 时 gcloud functions deploy function name runtime python37 trigger topic some to
  • SFML RenderWindow 需要很长时间才能打开窗口

    我知道这本质上是重复的 但是this https stackoverflow com questions 50988505 sfml renderwindow taking inconsistent time to display从未得到答
  • 修改Google Sheet纸张尺寸

    这是我第一次在谷歌表中使用脚本 我在网上看到了一些代码 我只是想知道如何修改下面代码的纸张尺寸 我们国家的法定尺寸是 8 5 x 13 var exportUrl url replace edit export exportFormat p
  • 鼠标悬停时的 Flash 事件

    有没有办法找出将鼠标移到 Flash 项目中的对象上时调用哪些方法 如果您尝试以下操作 您将能够跟踪对象上的每个侦听器 它将调用所有不带任何参数的侦听器 这将引发错误 如果你发现错误 你可以解析error getStackTrace查看听众
  • 如何发送带有添加空格的 urllib2 请求

    我正在尝试发送一个请求来打开使用空格的网页网址 以便我可以从该页面下载文件 在普通浏览器 即 Chrome 中 当您在地址栏中输入 url 时 文件会自动生成并要求您下载 我不再需要每次需要一组日志时都加载 Web 浏览器 而是尝试创建一个
  • 为什么弹性项目不会缩小到超过内容大小?

    我有 4 个 Flexbox 列 一切正常 但是当我向列中添加一些文本并将其设置为大字体大小时 由于 Flex 属性 它使列比应有的宽度更宽 我尝试使用word break break word它很有帮助 但是当我将列的大小调整到非常小的宽
  • 如何检索 slurm 脚本的内容?

    我几天前提交了一份工作 现在仍在运行 但我忘记了内容script sh那天 还有script sh已被删除 您知道如何恢复该脚本的内容吗 在最新版本中 您可以使用以下命令检索您自己作业的作业脚本 scontrol write batch s
  • 常见问题解答的语义 HTML 标记 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 具有不同原型的函数指针向量,我可以构建一个吗?

    我正在为一个名为 virtual machine 的类做一个解析器 我正在尝试为其构建一个函数向量 但是 vm 上的一些函数需要参数 不同数量 类型的参数 我仍然可以将它们放入我的向量中吗功能 因为它们只有 void f 这是代码 clas
  • 是否可以保存 Java Class 文件?

    我环顾四周 但似乎没有什么能完全涵盖我想做的事情 是否可以保存一个Class
  • Django 管理中的 MultiValueDictKeyError

    UPDATE model class PicturesManager models Manager def create pictures self flat img pictures self create car car image i
  • Butterknife 无法在我的适配器类中绑定

    我有一个适配器可以为我的导航抽屉绘制布局 我的导航抽屉包含两个内部 xml 文件 一个是Header另一个是Row 我将它们绘制在一个适配器中 但是当我尝试时setText 在我的标题上 我无法绑定 这是我的适配器类 public clas
  • Objective C 中 AudioToolbox 的引用错误

    我在一个简单的 Roulett 应用程序中尝试播放一些 wav 文件时遇到以下错误 我不确定该错误意味着什么 因为代码中没有出现警告标志 并且我已导入 这是错误 未定义的符号 AudioServicesCreateSystemSoundID
  • 快速对数计算

    所有代码都在同一台 Linux 机器上运行 在Python中 import numpy as np drr abs np random randn 100000 50 timeit np log2 drr 10 个循环 3 个循环中最好的
  • 解释 @property id 的语法

    在使用类似的东西编写委托时 我看到很多代码引用 property nonatomic weak id