swift - 什么时候用自己

标签 swift

<分区>

我有一个简单的问题,它并不是真正要解决问题,而是出于好奇而提出的。

假设这是我的 GameScene.swift 文件中的内容:

import SpriteKit

class GameScene: SKScene {

     //Some global properties 
     let player = SKSpriteNode(imageNamed: "Player")
     var score = Int()

     override func didMoveToView(view: SKView) {

         //Way 1 (which I see most of the time)
         player.position.....
         score = 1

        //Way 2 (which I see sometimes)
        self.player.position...
        self.score = 1
}

self 背后的思想学派是什么?我看过一些教程,人们喜欢使用 self 来明确。然而,大多数教程不使用 self,我什至看到 1 个教程,其中有人说除非明确需要 self(不确定那是什么意思)否则你不应该使用 self。

谁能帮我弄清楚我应该使用方法 1 还是方法 2,有什么区别? 感谢您的回复,谢谢

更新

在编码超过 1 年之后,我实际上更喜欢方法 1,因为成员 djeck 在他的回答中已经解释过。 我只在编译器需要时才使用 self。我认为它使代码更易于阅读,也更容易识别何时必须使用 unowned self 或 weak self

最佳答案

这只是一种风格偏好,可能不适合 stackoverflow 的问答格式,但 Ray Wenderlich有一个风格指南。

For conciseness, avoid using self since Swift does not require it to access an object's properties or invoke its methods.

Use self when required to differentiate between property names and arguments in initializers, and when referencing properties in closure expressions (as required by the compiler):

关于swift - 什么时候用自己,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30582824/

相关文章:

ios - 尝试使用 HealthKit 获取步数,但它总是返回 0.0

swift - UIViewController 未加载属性检查器中指定的 DAE 文件

class - 如何用 Swift 写 : [MyClass class]?

swift - 看不到崩溃问题

swift - 如何指定 UITextField 中的文本类型

ios - 如何创建一个函数来增加观看广告视频的奖励

ios - 具有水平分页和垂直滚动的 UICollectionView

ios - Swift 图片下载 TableView

swift - 我可以在 Swift 中将 .png 数据转换为 Int 吗?

swift - 使用 SPM 在 XCode11 中添加本地依赖项