为什么用“自我”。什么时候不被强迫?

2024-04-26

我注意到我的编码方式(糟糕;))和我从其他人那里看到的代码之间存在差异。

谁能解释一下为什么我看到有些人使用

self.varname.anotherpropertie

When

varname.anotherpropertie

似乎也同样有效。我不使用自我。我的代码中有很多。我想知道这是否很糟糕,或者我需要学习一些东西才能理解为什么大多数人如此频繁地使用它?

再次感谢, -代码


它们是不同的东西。在一个类中,您有一个名为的实例变量foo声明的属性也命名为foo,简单地写foo访问实例变量,同时self.foo执行属性的 getter 方法(可能只返回实例变量,或者可能执行更多操作)。

我建议看一下声明的属性 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html苹果的章节Objective-C 编程语言 http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html#//apple_ref/doc/uid/TP30001163-CH1-SW2有关其工作原理以及何时选择哪个选项的完整说明。

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

为什么用“自我”。什么时候不被强迫? 的相关文章

  • 检测 UITextField 的焦点变化

    我正在尝试设置当键盘隐藏并出现在文本字段中时视图向上移动的动画 并且它工作得很好 但是当焦点从一个文本字段移动到另一个文本字段时 它不起作用因为键盘已经显示了 在 viewDidLoad 中 我注册了以下内容 NSNotificationC
  • 扭曲的导航栏自定义后退按钮

    我有一个自定义后退按钮 该按钮没有按预期显示 它正在被拉伸 即使后退按钮文本为空 它仍然显示 后退 文本 提前致谢 我通常使用这种技术来使其发挥作用 要删除默认标题 UIBarButtonItem appearance setBackBut
  • 开发iPhone游戏需要什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • VoiceOver 的 UISlider 可访问性特征?

    使 UISlider 在启用 VoiceOver 的情况下可用所需的正确 UIAccessibility 特征和处理程序是什么 是否有关于用户如何使用启用 VoiceOver 的 UISlider 的描述 以下是我最终添加到 UISlide
  • 是否可以仅使用密码进行身份验证,即使设备在 ios、swift 中具有 touch id 功能

    我要认证only使用PassCode甚至设备有Touch ID特征 我在用着 deviceOwnerAuthentication评估政策方法 当我使用这个时 如果用户已注册触摸 ID gt 始终要求提供触摸 ID 如果用户尚未注册 touc
  • 如何判断一个具有很多属性的对象(自身)是否发生了改变?

    问题的简短版本 我有一个带有大量声明属性的类 我想跟踪它是否有任何更改 以便当我调用save方法 当不需要时它不会写入数据库 我如何更新isDirty财产无需为所有声明的属性编写自定义设置器 问题的较长版本 假设我有一堂这样的课 inter
  • UIWebView 是否在请求标头中发送与移动 Safari 相同的用户代理?

    抱歉 我只想自己测试一下 但我目前没有 Mac UIWebView 内部发出的 Web 请求是否发送与移动 Safari 发出的 Web 请求相同的用户代理信息 从 UIWebView 发出的 Web 请求不会在用户代理字符串中包含单词 S
  • 如何让 NSURLRequest 获取 Twitter 请求令牌?

    我正在尝试使用以下代码从 Twitter 获取请求令牌 NSMutableURLRequest mURLRequest NSMutableURLRequest alloc initWithURL NSURL URLWithString ht
  • Objective-c:如何创建不同深浅的颜色

    是否有任何算法可以为给定的十六进制或 RGB 值创建不同的阴影 我尝试过增加和减少 alpha 但浅色 例如 白色 看起来不太好 实现此目的的最佳方法是使用 HSB 色彩空间 这就是我在最新的应用程序中完成键盘左手部分的方式 颜色的 阴影
  • 位置:固定在 iPad 和 iPhone 上不起作用

    I have been struggling with fixed positioning in iPad for a while I know iScroll http cubiq org iscroll and it does not
  • XCTestCase:ld:未找到架构 x86_64 的符号

    我只是想实现我的第一个 XCTestCase 实现 一切都构建良好 但是当我执行测试用例时 我面临 构建失败 Undefined symbols for architecture x86 64 OBJC CLASS Node referen
  • UIPageControl 未显示

    我使用以下内容来显示滚动视图和页面控制 scrollView UIScrollView alloc initWithFrame CGRectMake 0 0 320 179 pageControl UIPageControl alloc i
  • XCode 4.2 编译器错误

    当我使用 XCode 4 2 创建新项目 例如 单视图 iOS 应用程序 时 支持文件 文件夹中的 main m 文件如下所示 import
  • 如何以编程方式在导航栏中设置图片?

    我有一个带有导航栏的详细视图 其中带有后退按钮和视图名称 导航栏以编程方式设置 呈现的名称是这样设置的 self title NSLocalizedString name 该名称取决于所呈现的视图 现在我还想在导航栏上显示一个小图标 这也取
  • 用强/弱自我打破保留周期

    我读过关于强 弱的帖子self打破保留周期 但我仍然对它们如何工作感到困惑 我理解使用 weak typeof self weakSelf self创建对自我的弱引用 但我对强引用感到困惑 据我了解 强引用是指对self这样它就不会在块结束
  • 电子邮件在 ShareKit 中不起作用并且没有错误

    我正在使用 ShareKit 将 Facebook Twitter 和电子邮件共享添加到我的 iPhone 应用程序中 现在 Facebook 和 Twitter 可以使用 但电子邮件无法使用 最大的问题是没有错误或任何错误 它正常工作 但
  • 当使用 loadView 创建视图时,视图的框架大小在旋转时不会改变

    我有没有 xib 的 UIViewController 并且我正在使用 loadView 来构建创建并添加两个滚动视图的 UI 问题是 当旋转发生时 主视图框架的大小不会改变 我的意思是 我在 loadView 中设置主视图的初始帧大小 纵
  • 为什么Android和IOS11无法通过NFC通信

    目前正在使用 React Native 并尝试使用反应本机 NFC ios https www npmjs com package react native nfc ios and 反应本机 NFC https github com Nov
  • 如何对其中包含自定义对象的 NSMutableArray 进行排序?

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

    我希望我的 tableView 显示 6 行 其中包含文本 在本例中为 示例 据我所知 我有我的numberOfSectionsInTableView and numberOfRowsInSection 设置正确 请参阅下面的示例代码 NS

随机推荐

  • Ruby:检查字符串是否可以转换为整数[重复]

    这个问题在这里已经有答案了 可能的重复 使用 Ruby 测试字符串是否基本上是引号中的整数 https stackoverflow com questions 1235863 test if a string is basically an
  • Vim NerdCommenter:在 vimrc 中添加新文件类型

    有没有办法在 vimrc 中为 NerdCommenter 定义新的文件类型注释 它已经可以工作了 但是如果我可以将其直接放入 vimrc 中 备份配置会更容易 Thanks NERDCommenter 能够解析commentstring选
  • 为什么我的 git 自动更新 Expect 脚本不起作用?

    我想制作一个脚本来更新我所有的 GitHub 存储库 我只需要输入我的用户名和密码 脚本将遍历存储库列表 调用git push并通过补充 Expect 脚本提供必要的信息 这是我的 bash 脚本 bin bash echo Updatin
  • 释放保留视图的最佳实践?

    这是释放保留的视图的正确 最好 方法吗 viewDidLoad 在 iOS 4 x 或更低版本中 还有什么需要考虑的吗 void viewDidUnload super viewDidUnload self releaseViews voi
  • VSTS 构建已过期

    我创建了一个拉取请求 它触发构建并且构建成功 但一段时间后我的构建状态更改为 构建已过期 因此要完成拉取请求 我需要再次触发它 所以问题是 为什么会发生这种情况以及如何避免构建过期 构建过期 是分支机构政策的一个特点 设置构建到期时间 以确
  • 是否可以将 scipy CSR 矩阵的 dtype 转换为 NPY_FLOAT?

    我有一个 scipy CSR 矩阵 它是由 COO 矩阵构建的 如下所示 coord mat coo matrix data row col dtype np float64 它被用作具有底层 C 实现的库的输入 我相信我的矩阵的 dtyp
  • Mysql AVG 忽略零

    我需要对一列执行平均值 但我知道该列中的大多数值都为零 在所有可能的行中 只有两行可能具有正值 我如何告诉 mySQL 忽略零并仅平均实际值 假设您可能不想完全排除此类行 也许它们在您想要聚合的其他列中具有值 SELECT AVG NULL
  • 在 html 文档中,使用高度和宽度标签调整图像大小是一种不好的做法吗?

    如果我有一个徽标图像 并且我想在另一个需要较小尺寸的页面上使用它 我的直觉是创建一个新图像 并使用图形编辑器调整大小 但是 我听说如果我参考原始图像并通过更改图像标签中的高度和宽度来使用浏览器调整其大小 对用户来说会更好 所以我问大家 这里
  • XDocument.Save() 无法访问文件

    希望我能够得到一些帮助来解决一个令人恼火的问题 我似乎无法在任何地方找到明确的答案 我使用 XDocument 对象将数据附加到 xml 文档 然后使用 xDoc save path 覆盖现有文件 但由于某种原因 我第一次运行代码时会抛出错
  • Grails 与 MongoDB、对象 id 和脚手架

    我使用集成测试和 Grails 脚手架将数据写入 mongoDB 数据库时遇到问题 当尝试从 列表 类型页面中选择域实例时 我收到错误 未找到 id null 的 域名 我确信这是因为 Grails url controller actio
  • XML 站点地图从 url 标记中删除 xmlns

    我正在使用下面的行来生成站点地图 但谷歌说有一个错误 我知道错误 但我无法弄清楚如何删除标签 THe code using System Xml Linq Layout null var urls new List
  • 从霍夫线中选择线

    I m using Hough Lines to do corner detection for this image i plan to find the intersection of the lines as the corner T
  • Java 中的生命游戏,人口过剩但不明白为什么

    这是家庭作业 我在底部添加了相关代码 Problem 在试图允许用户调整网格大小时 网格现在被绘制得严重过度填充 截图 人口过剩 https i stack imgur com 0Ilrq png https i stack imgur c
  • 使我的循环每 x 分钟后运行一次的函数

    我想要一个 r 函数 它使我的循环每 5 分钟运行一次 我有一个从谷歌财经下载市场数据的循环 我希望这个循环每 30 分钟运行一次 是否可以 使脚本循环的另一种方法是 使用外部作业调度工具在所需的时间间隔内调用脚本 如果你有linux 我建
  • R 中已知固定截距的线性回归

    我想使用 R 中的 lm 函数计算线性回归 此外 我想获得回归的斜率 其中我明确给出截距lm 我在互联网上找到了一个例子 我尝试阅读 R help lm 不幸的是我无法理解它 但我没有成功 谁能告诉我我的错误在哪里 lin lt data
  • Angular 2 路由器无法处理传递的多个参数

    我创建了一个示例 Plunker 将多个参数传递到下一页 但它不起作用 这是 Plunker 演示 其中单击项目后危机中心路由不起作用 http plnkr co edit ngNSsKBzAuhaP0EjKVJX p preview ht
  • NSSharingService 在默认电子邮件 MAC OSX 应用程序中设置抄送和密件抄送收件人

    我是 Mac OS X 应用程序开发的新手 我的问题很简单 我可以通过我的应用程序在默认邮件应用程序中设置收件人和正文文本 但我无法在邮件应用程序中设置抄送和密件抄送收件人 有没有办法通过代码设置CC和BCC 我正在使用Swift 我的设置
  • 无法解析“USERNAME”列

    我开发 Spring Framework MVC 应用程序 我也使用休眠 现在我为 User 实体制作简单的 POJO Entity Table name USERS public class User Column name USERNA
  • strdup 还是 _strdup?

    当我使用strdup在 Microsoft Visual C 中 它警告我 警告 C4996 strdup 此项目的 POSIX 名称已弃用 相反 请使用 ISO C 一致名称 strdup 详情请参见在线帮助 如此看来 strdup是正确
  • 为什么用“自我”。什么时候不被强迫?

    我注意到我的编码方式 糟糕 和我从其他人那里看到的代码之间存在差异 谁能解释一下为什么我看到有些人使用 self varname anotherpropertie When varname anotherpropertie 似乎也同样有效