首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Xcode4在使用@property时会自动生成iVars,在哪里可以找到该功能的官方文档?

Xcode4在使用@property时会自动生成iVars,在哪里可以找到该功能的官方文档?
EN

Stack Overflow用户
提问于 2012-08-25 04:56:45
回答 4查看 1.3K关注 0票数 3

我已经读过"What's new in Xcode",但是我找不到这个特性的官方解释。在哪里可以找到官方解释?哪些文档?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-25 05:18:25

您可以在Objective-C Programming Language: Declared Properties的Apple文档中的"Property Implementation Directives“中找到这一点。是否自动合成ivar取决于您使用的运行时:

根据运行时的不同,访问器合成的行为也会有所不同(另请参阅“运行时差异”):

对于传统运行时,实例变量必须已在当前类的@

  • 块中声明。如果存在与属性同名的实例变量,并且其类型与属性的类型兼容,则会使用该变量,否则会出现编译器错误。

  • 对于现代运行时(请参阅Objective-C运行时编程指南中的“运行时版本和平台”),会根据需要合成实例变量。如果已存在同名的实例变量,则使用该变量。

iOS总是使用现代的运行时,所以你永远不需要显式地声明ivar。

票数 8
EN

Stack Overflow用户

发布于 2012-08-25 05:13:35

假设您的意思是,即使您省略了@synthesize,它也会自动为您生成ivar、getter和setter方法:这被称为默认属性合成、自动属性合成和属性自动合成。

没有太多的文档。据我所知,没有关于它是如何工作的官方文档,只是关于它存在的事实。

它实际上是一个clang特性,而不是一个Xcode特性。它曾在Xcode4.0DP 4附带的版本中短暂出现,但不久之后由于错误而被删除。它再次出现在Xcode4.4附带的clang版本中。我想是Here's the commit添加的。

您可以在Objective-C Feature Availability Index中找到它。

Clang Language Extensions也提到了这一点。

来自实验:

  • 如果你没有显式地生成一个属性,而它生成了一个实例变量,它将自动生成一个与声明的属性具有相同类型(并且,在ARC下,所有权限定)的@synthesize。ivar名称将是一个下划线(_),后跟声明的属性名称。
  • 如果您不显式地使用readonly属性,并且您确实包含显式的getter方法,则clang将<>E118而不是自动为您生成ivar。如果您E220没有显式地一个readwrite属性,并且您包括两者都包含显式getter和显式setter,则
  • 将自动为您生成ivar。E220D24D25属性,并且您执行包括E128两者。包含显式getter和显式setter,包含显式getter和显式setter,如果您不显式地使用readonly属性,并且您包含显式getter方法,则clang将自动为您生成ivar。然后再次点击will 自动为你生成一个ivar。

但我不知道关于这些行为的任何官方文档。

票数 14
EN

Stack Overflow用户

发布于 2012-08-25 05:00:37

实际上,这是编译器的一部分。

您可以在LLVM specification website中阅读它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12119284

复制
相关文章
flutter中多flavors方案以及添加firebase​
有想做海外市场的同学们,可能需要用到firebase。今天我们讲讲怎么使用「FlutterFire CLI」添加 firebase以及如何设置「flavors」
用户1974410
2022/09/20
10K0
flutter中多flavors方案以及添加firebase​
REST API返回结果对象设计
基于REST API的项目返回的数据结构题都是统一的,这样方便接口对接和使用。因此,对结果对象的设计会有一定的要求:
程序新视界
2021/12/07
1K0
Yarn Rest Api使用
前言 Yarn Rest Api 返回的数据都是XML格式,需要解析XML。 任务查询 查询所有任务 http://hadoop02:8088/ws/v1/cluster/apps 字段说明 Item DataType Description id string 应用的application-id user string 提交任务的用户名 name string 应用程序的名称 queue string 应用程序所属消息队列 state string 应用程序当前状态 finalStatus str
码客说
2023/01/08
2.2K0
在 Spring Boot REST API中使用Json Web Token
在本文中,我将展示如何进行基于 Spring Boot 的 REST API进行鉴权。保护 REST API 以避免对公共 API 进行任何不必要的调用已成为一种趋势。我们将使用一些 Spring 引导功能来实现 Spring 安全,并使用 JSON WebTokens 进行授权。
用户4235284
2023/10/14
2820
在 Spring Boot REST API中使用Json Web Token
使用 %REST.API 类创建 REST 服务
创建 REST 服务的推荐方法是从 REST 服务的 OpenAPI 2.0 规范开始,并使用它来生成 REST 服务类。要使用 %REST.API 类执行此操作:
用户7741497
2022/08/05
1.6K0
使用 Burp 枚举 REST API
Burp 可以测试任何 REST API 端点,前提是您可以为该端点使用普通客户端来生成正常流量。流程是通过 Burp 代理客户端的流量,然后用正常的方式进行测试。
Khan安全团队
2022/01/14
1.3K0
使用 pyhttptest 轻松测试 REST API
现在,我们每个人都面临着 REST API,要么开发这样的服务,要么使用这样的服务。 此外,我们正处于微服务的时尚时代,我们将业务逻辑分割成独立于每个服务的小型独立服务。 这些服务大多遵循 RESTful 原则,并使用 JSON 格式进行通信,由于其简单性,JSON 格式成为最广泛使用的格式​。
叉叉敌
2020/02/18
6990
使用 pyhttptest 轻松测试 REST API
现在,我们每个人都面临着 REST API,要么开发这样的服务,要么使用这样的服务。 此外,我们正处于微服务的时尚时代,我们将业务逻辑分割成独立于每个服务的小型独立服务。 这些服务大多遵循 RESTful 原则,并使用 JSON 格式进行通信,由于其简单性,JSON 格式成为最广泛使用的格式​。
叉叉敌
2020/02/15
8220
怎么在Openresty中REST?
REST究竟指的是什么,如果原意英文缩写来看,REST(Resource Representational State Transfer ), 解释很诗意,很烂漫,但基本看不出一个所以然。
糖果
2020/09/17
2.5K0
另类玩法!使用 REST API 操作 RabbitMQ
关于 RabbitMQ 的管理,我们可以通过网页来进行,在松哥前面的文章中也和小伙伴们做了相关的介绍了:
江南一点雨
2021/12/04
9910
另类玩法!使用 REST API 操作 RabbitMQ
Elasticsearch集群配置以及REST API使用
ES安装与启动   在官网下载压缩包,解压后直接运行bin目录下的.bat文件即可。下载地址戳这里。 ES配置集群   Elasticsearch配置集群很简单,只要配置一个集群的 名称 ,ES就会自
用户1154259
2018/01/17
9880
Elasticsearch集群配置以及REST API使用
Elasticsearch使用REST API实现全文检索
通过rest api添加检索数据,阅读官方文档可以发现,elasticsearch支持动态映射,但是其中有不少问题,且听慢慢详解。 本文主要讲述三点内容: 1 Elasticsearch常用的rest api 2 Elasticsearch使用bulk命令添加索引数据 ES REST API   elasticsearch支持通过http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容。   常用的rest请求包括:   检查ES集群状态: curl localh
用户1154259
2018/01/17
1.3K0
Elasticsearch使用REST API实现全文检索
如何使用 Spring Boot 创建 REST API ?
Spring Boot 是一个功能强大的框架,可以轻松创建 RESTful API。在本文中,我们将逐步指导如何使用 MySQL 和 JPA 在 Spring Boot 中创建 RESTful API。我们将首先创建一个新的 Spring Boot 项目并根据我们的需求对其进行配置。
用户1418987
2023/10/26
8440
如何使用 Spring Boot 创建 REST API ?
禁止添加属性、封闭对象、冻结对象的 API
除了设置对象的属性特征,对属性进行控制,系统也提供了一些简化的 API 来进行属性控制
很酷的站长
2022/12/21
7520
禁止添加属性、封闭对象、冻结对象的 API
Rest api简介
理解和使用内容协商 我们的开发者在发送一个 REST API 请求的同时,根据应用场景,针对相同的资源,可能会期待不同的返回形式。 比如,我希望根据用户客户端语言,同一个资源的内容可以返回不同的语言。又比如,当我使用 Java 编程的时候,我希望得到 ATOM 格式的返回结果,而当我使用 JavaScript 编程的时候,我希望得到 Json 格式的返回结果。 因此,我们在设计 REST API 的时候,应该提供完备的内容协商能力。 使用 URL 参数进行内容协商 最容易想到的自然是通过 URL 参数进行控
xiangzhihong
2018/02/02
2.2K0
Rest api简介
Elasticsearch:REST API
在 Elasticsearch 中,所以的数据都是以 JSON 的格式来进行表述的。这个和其它的有些数据库,比如 Solr,它支持更多格式的数据,比如 xml, csv 等。
HLee
2021/01/26
1.3K0
Elasticsearch:REST API
Elasticsearch——Rest API中的常用用法
本篇翻译的是Elasticsearch官方文档中的一些技巧,是使用Elasticsearch必不可少的必备知识,并且适用于所有的Rest Api。 返回数据格式化 当在Rest请求后面添加?pre
用户1154259
2018/01/17
9360
Elasticsearch——Rest API中的常用用法
Windows 商店应用中使用 SharePoint REST API
前面一篇我们介绍了 Office 365 REST API 的官方工具的使用,本篇我们来看一下 SharePoint REST API 本身的描述、结构和使用方法,以及一些使用经验。 首先来看看SharePoint REST API 的概述:       REST API 服务是在 SharePoint 2013 中被引入的,官方认为 REST API 服务可以媲美于现有的 SharePoint 客户端对象模型。开发人员可以使用任何支持 REST Web 请求的技术(C#,javascript,java,o
Shao Meng
2018/04/28
4.9K0
【axios】使用json-server 搭建REST API
1.1 API 的分类 REST API: restful (Representational State Transfer (资源)表现层状态转化) (1) 发送请求进行CRUD 哪个操作由请求方式来决定 (2) 同一个请求路径可以进行多个操作 (3) 请求方式会用到GET/POST/PUT/DELETE 非REST API: restless (1) 请求方式不决定请求的CRUD 操作 (2) 一个请求路径只对应一个操作 (3) 一般只有GET/POST 1.2 使用json-server 搭建RES
玖柒的小窝
2021/10/05
2.9K0
【axios】使用json-server 搭建REST API
点击加载更多

相似问题

在firebase中使用Rest api(Casablanca c++)添加子对象时遇到问题

10

如何使用firebase rest api“注销”firebase

123

使用REST API创建Firebase

21

使用REST Api编辑子对象的属性

13

Firebase REST API

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文