是否需要在@interface中声明ivars来匹配属性? [复制]

2023-11-29

可能的重复:
Objective-C 2.0 中的属性和实例变量

我对这两个代码段感到困惑:

First:

//.h
@interface Student : NSObject {

}
    @property (nonautomic, copy) NSString *name;
    @property (nonautomic, retain) NSNumber *age;
@end

//.m
@implementation Student
    @synthesize name;
    @synthesize age;
@end

Second:

//.h
@interface Student : NSObject {
    NSString *name;   // <<============ difference
    NSNumber *age;    // <<============ difference
}
    @property (nonautomic, copy) NSString *name;
    @property (nonautomic, retain) NSNumber *age;
@end

//.m
@implementation Student
    @synthesize name;
    @synthesize age;
@end

这两种方法都可以。那么是否需要在其中声明变量{}?


从现代运行时(x86_64 和 ARM6...以及 iOS Simulator)开始,您不再需要声明合成的 ivars。在第一个示例中,@synthesize 正在为您添加实例变量。

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

是否需要在@interface中声明ivars来匹配属性? [复制] 的相关文章

  • 如何用Block简化回调逻辑?

    假设我需要与一个提供协议的类进行通信 并在操作完成时调用委托方法 如下所示 protocol SomeObjectDelegate required void stuffDone id anObject void stuffFailed e
  • 当自定义子视图处理触摸时防止 UITableView 滚动

    在我的 iOS 应用程序中 有一个 UITableView 其中一个单元格中包含一个自定义子视图 该单元格是一个交互式视图 它处理触摸事件 touchesBegan touchesEnded touchesMoved 以更新自身 问题是 当
  • NSArray 对象的 RACSignal

    我的 ViewController 上有一个 NSArray 的 ViewModel 对象 property 非原子 强 NSArray viewModels ViewModel 对象看起来像这样 interface ViewModel N
  • 为什么没有收到(UDP 多播)数据包?

    所以 我一直试图弄清楚为什么这不起作用 但我没有任何线索 我已经成功地从 iPhone 发送数据包并在 Mac 上接收它们 根据 tcpdump 我的 mac 正确发送数据包 此外 如果我在模拟器中运行它 它工作得很好 这让我相信这是一个网
  • Auto-value-gson出现接口错误,注册一个InstanceCreator?

    我有一个如下所示的接口类 public interface Species String name And a Human实现的类 AutoValue使用类型适配器 AutoValue public abstract class Human
  • 将捕获的图像精确裁剪为 AVCaptureVideoPreviewLayer 中的外观

    我有一个使用 AV Foundation 的照片应用程序 我使用 AVCaptureVideoPreviewLayer 设置了一个预览层 它占据了屏幕的上半部分 因此 当用户尝试拍照时 他们只能看到屏幕上半部分看到的内容 这很好用 但是当用
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • 如何在netbeans中创建属性文件

    我正在开发一个 struts2 Web 应用程序项目并使用 netbeans 6 9 我想为我的项目创建一个属性文件 我该如何在net beans中做到这一点 右键单击要添加属性文件的位置 new gt other gt other gt
  • 使用 Interface Builder 创建的自定义视图在其他视图中调用时不会呈现

    我有一个用于主窗口的 xib 并通过以下步骤创建了一个自定义视图 创建一个新类 继承自NSView MyView h import
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 与新 Apple Music 应用程序中相同的动态状态栏

    是否可以动态着色statusBar这是在新的苹果音乐应用程序 Edit iOS 8 4 中的新 Apple Music 应用程序具有此功能 打开应用程序 选择并播放歌曲 状态栏为白色 向下滑动播放器控制器以查看 我的音乐 控制器 它有黑色状
  • 如何编辑应用程序包中的文件?

    在我的应用程序中 我从存储在捆绑资源中的 CSV 文件加载数据 但是 我希望能够在用户点击 更新 按钮时以编程方式更新此文件 有没有办法以编程方式更改应用程序包中的资源 这是我用来访问该文件的代码 NSString path NSBundl
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍
  • 检查 Objective-C 块类型?

    这主要是出于好奇 我不太确定它的实际用途是什么 但就这样吧 由于块也是 Objective C 对象 是否可以检查它们的类型 也就是说 它是否响应isKindOfClass 消息以及如何使用该消息来处理块 我天真的以为事情大概是这样的 vo
  • 子类 PFObject 上的 PFUser 属性

    我使用以下类 动态属性以及 m 文件中的 load 和 parseClassName 方法 对 PFObject 进行了子类化 interface DAOpponents PFObject
  • 如何清除代码中的 NSLog 输出?

    有没有办法清除代码中的控制台输出 thanks 我喜欢的快捷方式 Simply USE K Keyboard Shortcut when you want to clear the NSLOG Data
  • 如何为 NSAttributedString 内的文本设置“隐藏”属性?

    我有一个 Cocoa 应用程序NSTextView控件将其文本保存在NSAttributedString 实际上我相信这是一个NSMutableAttributedString 我可以轻松地在该字符串内的不同字符范围上设置和修改不同的文本属
  • AXI4 流接口:如何在 HLS 中管理浮点数组以生成硬件加速器并在 RTL 项目中安全地连接它们?

    最后 我想做的是使用 Vivado Design Suite 中具有单精度浮点数组的流接口来构建硬件加速器 HLS 用户指南UG902 http www xilinx com support documentation sw manuals
  • 结构体实现接口安全吗?

    我似乎记得读过一些关于在 CLR 中通过 C 实现结构如何不好的内容 但我似乎找不到任何相关内容 是不是很糟糕 这样做会产生意想不到的后果吗 public interface Foo Bar GetBar public struct Fub
  • Objective-C:int值无故改变

    Objective C 我需要帮助保留 int 的值 无需我的命令 它就在我身上发生变化 最初的问题是 如何声明和保留 int 这在另一篇文章中得到了满足 Objective C 如何声明和保留 int https stackoverflo

随机推荐

  • 使用 itextsharp 删除基于文本的水印

    根据这篇文章 从 PDF iTextSharp 中删除水印 mkl 代码适用于 ExGstate 图形水印 但我已经测试了此代码以从某些 PDF 内容后面具有基于文本的水印的文件中删除水印 例如此文件 http s000 tinyuploa
  • ReactJS 修改对象数组的特定属性

    我得到了在状态中分配的对象数组 我想用输入字段修改属性 我尝试了以下一些
  • 如何使用 Javascript 获取元素的名称?

    我正在尝试获取 Javascript 中元素的名称 含义如果该元素是 div div then div 会被退回 如果它是 img src then img 会被退回 我使用 jquery 选择一堆元素 然后对所有元素调用自定义函数 在该函
  • Pandas 0.20.2 to_sql() 使用 MySQL

    我正在尝试将数据帧写入 MySQL 表 但得到了 111 Connection refused error 我在这里遵循了已接受的答案 使用 SQLAlchemy to sql 使用 pandas 写入 MySQL 数据库 答案的代码 im
  • python Spyder 不导入 numpy

    我正在使用 python Spyder 2 2 5 和 Windows 7 python 2 7 编写脚本 一开始我尝试了所有的导入方式 from numpy import or import numpy and also import n
  • 以类名作为返回类型的方法

    我是 C 或任何类型的编程语言的新手 当我看到c 中的代码时 我发现这里有很多混乱 我想从这里澄清其中之一 方法的常见结构是
  • 从 VBA 运行 python 脚本

    设想 我正在尝试从 Excel 中的 vba 代码运行 python 脚本 代码运行没有错误 但没有产生任何结果 VBA 中的代码 Private Sub CommandButton1 Click Dim Ret Val Dim args
  • 尝试将数据附加到子值时应用程序崩溃

    我正在按照 firebase 中所示的说明进行操作 但即使在确保文本条目的类型为字符串之后 我仍然遇到崩溃 这是错误 由于未捕获的异常 InvalidPathValidation 而终止应用程序 原因 child 必须是非空字符串且不包含
  • Java 并发递增值

    我一直在读关于volatile and synchronized但我一直在困惑中摸不着头脑 我希望有人能帮助我解决问题 private HashMap
  • ALTER TABLE 脚本中的 MySQL 变量

    您好以下过程必须将所有约束从一个表移至另一个表 但是我在应删除约束时遇到了一些困难 问题 如何在下面的行中使用变量 ALTER TABLE var referenced table name DROP FOREIGN KEY var con
  • R:将日期从每日转换为每周并绘制它们

    我正在尝试学习如何处理时间序列数据 我创建了一些虚假的每日数据 尝试按周聚合它 然后绘制它 set seed 123 library xts library ggplot2 date decision made seq as Date 20
  • setf 在函数中不起作用

    我在脚本中定义了一个特殊变量 unsorted list 和一个用于重置此变量的函数 defparameter unsorted lst nil defun reset to unsorted list setf unsorted lst
  • 将 .tar.gz 文件的内容从网站读取到 python 3.x 对象中

    我是Python新手 当尝试将 tar gz 文件的内容读入 python 时 我无法弄清楚我做错了什么 我想要阅读的 tar 文件托管在以下网址 ftp ftp ncbi nlm nih gov pub pmc b0 ac Breast
  • 目录的平均和最大大小

    我有一个目录和一堆子目录 如下所示 目录1 sub dir1 sub dir2 sub dir3 sub dir4 sub dir5 等等 数百个 如何查明子目录的平均大小是多少 如何找到子目录的最大大小是多少 全部使用 Unix 命令 T
  • 让输入按钮像 一样运行,无需使用 JavaScript

    我知道我可以分配一个onclick采取行动
  • 获取文件夹中最近更新的文件的 filemtime

    我有一个包含 4 个文件的文件夹 我想提取最近一个文件的最后修改时间 可能并不总是相同 有没有好的方法可以做到这一点 Use a 目录迭代器找到文件 然后简单地比较它们的修改时间 这应该这样做 iterator new DirectoryI
  • 在 apache 中运行 Node.js?

    我们在一台机器上安装了 Apache Web 服务器 该机器还使用 Perl 提供页面服务 对于一个项目 我决定使用 Node js 而不是 Perl Ruby 只是想知道是否可以使用 Apache 作为我的网络服务器 因此它为页面提供服务
  • 在 Qt 中使用 aar 库

    是否可以在 Qt 应用程序中使用 Android Studio 库 aar 文件 问题是 我想用 Qt 实现一个移动应用程序 但只有一个 Android Studio 库 是否可以将该库包含在 Qt 项目中或者让我为其编写一个包装类 如果我
  • 使用 maven-rpm-plugin 如何替换类似于程序集插件的文件中的文本

    我有一个 Maven 项目 我在其中创建了两个包装 一种是 tar gz 文件 针对某些目标 以及针对可以使用 RPM 的 Linux 目标的 RPM 我使用 maven assembly plugin 作为 tar gz 文件 我使用 m
  • 是否需要在@interface中声明ivars来匹配属性? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 2 0 中的属性和实例变量 我对这两个代码段感到困惑 First h interface Student NSObject property nonautomic copy N