标记实例变量@private

2023-12-20

我注意到苹果的很多界面都使用@private在它们的实例变量声明之前。这有什么好的设计理由吗?我应该这样做吗?


私有实例变量用于将接口与实现分开。在 Objective-C 中,由于类声明must显示所有实例变量,需要有一种方法来防止子类访问属于内部实现的一部分。否则,其他程序员可能会编写依赖于这些内部变量的代码,这将使类设计者无法在不破坏现有代码的情况下对类内部进行更改。

从另一个角度来看,实例变量是not标记为私有的是与子类程序员签订的合同的一部分,而标记为私有的则不是。

这意味着实例变量通常应标记为私有,以便只能通过其访问器方法来访问它们(如果有的话)。否则,有人可以轻松地编写您的类的子类,并简单地创建一个访问器来将任何实例变量公开。

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

标记实例变量@private 的相关文章

  • valgrind 和 iOS SDK 4.2?

    使用 valgrind 运行 iOS 4 2 应用程序时遇到问题 我从 Macports 安装了 valgrind 3 6 0 SVN Xcode 3 2 5 当我修改 main 以运行 valgrind 时 我得到以下输出 Detecte
  • UIModalPresentationFormSheet 的圆角

    如果这是一个明显的问题 请原谅我 我是个相对较新的人 我有一个模态视图 我设置了自定义尺寸和圆角 void viewWillLayoutSubviews super viewWillLayoutSubviews self view supe
  • 用强/弱自我打破保留周期

    我读过关于强 弱的帖子self打破保留周期 但我仍然对它们如何工作感到困惑 我理解使用 weak typeof self weakSelf self创建对自我的弱引用 但我对强引用感到困惑 据我了解 强引用是指对self这样它就不会在块结束
  • 如何在iPhone上绘制“对话气泡”?

    当您右键单击扩展坞中的某个内容时 我试图获得类似于 Mac OS X 中的 语音气泡 效果 这是我现在所拥有的 我需要得到下部的 三角形 部分 有什么办法可以画出这样的东西并在它周围加上边框吗 这将是为了iPhone app 提前致谢 ED
  • 如何对其中包含自定义对象的 NSMutableArray 进行排序?

    我想做的事情看起来很简单 但我在网上找不到任何答案 我有一个NSMutableArray对象 假设它们是 Person 对象 我想排序NSMutableArray通过 Person birthDate 这是一个NSDate 我认为这与这个方
  • UITableView 显示的行数多于 numberOfRowsInSection 中指定的行数:

    我希望我的 tableView 显示 6 行 其中包含文本 在本例中为 示例 据我所知 我有我的numberOfSectionsInTableView and numberOfRowsInSection 设置正确 请参阅下面的示例代码 NS
  • 如何在 iOS 中按下后退按钮时创建确认弹出窗口?

    我想在有人按下 iOS 应用程序的 后退 按钮时添加一个弹出窗口 询问用户是否真的想回来 然后 根据用户的响应 我想撤消该操作或继续 我尝试在视图的 viewWillDisappear 函数中添加代码 然后编写正确的委托 但它不起作用 因为
  • 左右并排放置两个 UILabels,而不知道左标签中文本的字符串长度

    在 iPhone fb 应用程序的照片选项卡中 对于每个表格视图单元格 他们都会放置相册标题 后跟相册中的图片数量 例如 第一张专辑 22 最后也是最后的 12 我认为有两个标签 一个用于标题 一个用于数字 因为数字实际上是不同的 UICo
  • 如何在 iPhone 应用程序中播放来自服务器的视频 URL

    实际上 我通过使用从服务器获取一个网址XMLParser 我想在我的应用程序中播放这个视频网址 现在我使用了 MPMoviePlayerController 但它不起作用 请帮忙 XML解析器 m id loadXMLByURL NSStr
  • 如何确定 NSURLSessionTask 请求何时开始?

    I use NSURLSessionTask我正在尝试监视我的一些 HTTP 请求需要多长时间 我可以监视什么委托方法 或其他方法 NSURLSessionTask实际上提出了最初的请求 如果这是一个NSURLConnection里面一个N
  • iphone navigationController :在退出当前视图之前等待 uialertview 响应

    我有一个带有由导航控制器管理的后退按钮的视图 我想在用户单击后退按钮时检查文件是否已保存 如果文件已保存 您将返回到上一个视图 否则 uialertview 会询问您是否要保存文件 所以我这样做了 但视图消失了 然后警报视图出现了 void
  • 将 firebase 框架添加到 ios 项目时出现链接器错误

    我一直在尝试将 firebase 框架添加到我的 ios 应用程序中 我按照这里的说明进行操作 https www firebase com docs ios quickstart html https www firebase com d
  • 在 UITableView 中创建隐藏的 UISegmentedControl

    与 iBooks 应用程序一样 当您下拉表格视图时 会出现搜索栏和分段控件 以允许您在两种类型的视图之间搜索和切换 当您向下拉得足够远时 它会停留在该位置 或者当您将桌面视图拉得足够远时 它会被隐藏 我正在尝试用一个来实现同样的事情UISe
  • stringFromDate 始终为 NIL

    我知道这是一个重复的问题 但是在 stackoverflow 和 google 上搜索了许多类似的问题后 没有一个解决方案对我有用 我正在尝试将从数据库收到的日期转换为字符串格式以在 iPhone 应用程序中显示 我正在按以下方式将日期转换
  • 如何在操作表中添加日期选择器?

    IBAction showCatPicker if self catList nil self catList nil catList release self catList NSMutableArray alloc init self
  • 我如何在 ANSI C 中实现类似于 Objective-C @encode() 编译器指令的东西?

    encode 指令返回一个 const char 它是传入的数据类型的各个元素的编码类型描述符 示例如下 struct test int ti char tc printf s encode struct test returns test
  • iOS 8 UITableView 分隔符插入 0 不起作用

    我有一个应用程序 其中UITableView的分隔符插入设置为自定义值 右0 Left 0 这完美地适用于iOS 7 x 但是在iOS 8 0我看到分隔符插入设置为默认值15在右侧 即使在 xib 文件中它设置为0 它仍然显示不正确 我该如
  • iOS 上读取证书问题

    我正在尝试从 iOS 中的各种 URL 读取证书 然而 我的代码运行不佳 应该返回我需要的信息的数组总是返回null 我缺少什么 void findCertificate NSString url NSInputStream input N
  • 动态框架中未定义的架构符号

    我正在开发一个 iOS 框架 该框架包含多个第三方框架并使用 UnitySendMessage C 方法与 Unity 进行通信 我想创建一个动态框架 支持 iOS8 但我偶然发现以下编译错误 Undefined symbols for a
  • 将数组从控制器传递到视图

    I have UIView UI视图控制器 在 UIViewController 中 我需要能够将项目插入到 6 个整数的固定数组中 然后 我需要将此数组传递给视图 以便它分析该数组并适当地更新屏幕 我该怎么做呢 我尝试过使用标准 C 数组

随机推荐

  • 带有父子行的 Angular Material 垫表的替代颜色

    我有一个有角度的材料mat table我使用 CSS 样式来替代行颜色 这是 CSS 样式 mat row nth child even background color e4f0ec mat row nth child odd backg
  • 如何正确安装 django-nose?

    我在运行 django nose 时遇到问题 Per the 安装说明 https github com jbalogh django nose 我安装的方式是 Running pip install django nose Adding
  • Python:如何使用splinter/浏览器一次性填写表单?

    目前 我正在网站上填写表格 内容如下 browser fill form firstname Mabel browser fill form email email protected cdn cgi l email protection
  • 有没有办法从 Excel 特定单元格收集数据并发送给 SQL Server?

    我有一个 Excel 表格模板 希望用户每天填写 一张表告诉我哪些单元格正在读 写 意味着我想将哪些单元格发送到我的数据库 该形式不是管状的 即 有时数据被设置 A3 gt A4 或 A3 gt B3 我想知道是否有 Excel 插件或任何
  • OAuth登录完成后重定向到之前的URL(flask-dance)

    我正在开发一个 Flask 应用程序 允许用户使用 OAuth 以 Github 作为提供者 和 Flask dance 库登录 由于某种原因 成功登录后 我无法重定向到我将用户发送到登录页面的页面 当用户尝试连接时 例如http loca
  • c 函数是否可以同时接受 double 和 long double 参数?

    我在文件 mag c 中有一个函数 mag 用于计算数组的大小 include
  • 在Master上触发事件并在Salt Minion上等待“响应事件”

    我想要的是由 Minion 调用的类似 RPC 的行为 并将其放入某种脚本中 然后可以由任何 非 Salt 非 Python 应用程序和服务调用 在Master上触发一个事件 有效负载对应于命令行参数 the Reactor system
  • 创建的 PDF 不反映对原始文档所做的更改

    我有一个 Google 文档模板 它会自动复制到文件夹中 并用电子表格单元格中的值替换特定值 该模板包含诸如以下的值 lt lt 41 gt gt 它们用于 查找并替换 来自电子表格的值 查找和替换过程很好 文档的结果如下图所示 现在 我希
  • 查找特定值的列名或表名

    我想在我的数据库中搜索一个特定的值 但我不知道它到底在哪里 SQL Server中是否存在返回特定值的列名或表名的查询 假设我有一个像 123 这样的列的值 但我不知道 123 属于哪个表 也不知道它的列名称 我可以编写一个查询来查找该值所
  • 纬度/经度转换为 x/y 坐标

    我有一个 openstreetmap 图像 左上角是纬度 80 经度 169 右下角是纬度 56 经度 190 图像的宽度 2618 高度 1513 如何将给定的纬度 经度坐标转换为图片的 x y 坐标 我自己尝试了一下 但不知道如何转换坐
  • CSS 悬停工具提示的 z 索引

    我仅使用 CSS 悬停缩略图
  • 检测 Google Chrome 页面预取

    我正在构建一个简单的工具来跟踪和增加网站的访问次数 这很简单 当服务器收到 GET 请求时 它会将数据库中该网站的计数器加 1 但是 我在使用 Google Chrome 的预渲染引擎时遇到了一些问题 预测网络操作以提高页面加载性能 该网站
  • 将模板与 HTML 自定义元素结合使用

    我刚刚开始学习 HTML 自定义元素 通过阅读一系列介绍 教程和文档 我想我已经很好地掌握了它的工作原理 但我对正确使用或不使用的方法有一个哲学问题这
  • MVC 4 中的部分实体类未显示数据注释

    我已经看到了许多关于如何通过部分类向通过实体框架生成的类添加元数据注释的解释 数据库优先 有人可以告诉我为什么这些新的显示值没有显示在我的视图中吗 这两个都是与我的实体框架生成的类相同的命名空间的一部分 MetadataType typeo
  • 为什么 pip 在我的虚拟环境之外安装软件包?

    在做了虚拟环境的来源之后我尝试 pip install U no deps django social auth 它返回 OSError Errno 13 Permission denied usr local lib python2 6
  • 如何确保 Angular 服务构造函数中的异步初始化完成?

    请专家告诉我 在调用类中的其他函数时 如何确保服务构造函数中的异步初始化完成 constructor var sock new SockJS this chatUrl this stompClient Stomp over sock thi
  • NASM - 如何创建结构指针数组并访问它们

    所以我的问题是这样的 我有一个名为顶点的结构 struc vertex x resq 1 y resq 1 z resq 1 endstruc 我想创建一个指向由该定义组成的结构的指针数组 就像加载顶点表单文件并将它们保存在结构中和数组中的
  • 将图像从 URL 上传到 Firebase 存储

    我想知道如何通过 URL 而不是输入 例如 将文件上传到 Firebase 的存储中 我正在从网站上抓取图像并检索它们的 URL 我想通过 foreach 语句传递这些 URL 并将它们上传到 Firebase 的存储 现在 我有 fire
  • RXJS 拖放

    这个问题与 RXJS 有关 我正在尝试调整 github 中的拖放示例以适用于一类 div 而不仅仅是单个元素 ID https github com Reactive Extensions RxJS blob master example
  • 标记实例变量@private

    我注意到苹果的很多界面都使用 private在它们的实例变量声明之前 这有什么好的设计理由吗 我应该这样做吗 私有实例变量用于将接口与实现分开 在 Objective C 中 由于类声明must显示所有实例变量 需要有一种方法来防止子类访问