相关疑难解决方法(0)

Swift中static func和class func有什么区别?

我可以在Swift库中看到这些定义:

extension Bool : BooleanLiteralConvertible {
    static func convertFromBooleanLiteral(value: Bool) -> Bool
}

protocol BooleanLiteralConvertible {
    typealias BooleanLiteralType
    class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
Run Code Online (Sandbox Code Playgroud)

定义为的成员函数与定义为的static func另一个成员函数之间有什么区别class func?它只是static用于结构和枚举的静态函数,以及class类和协议吗?还有其他人应该知道的差异吗?在语法本身中有这种区别的理由是什么?

static class swift

308
推荐指数
8
解决办法
8万
查看次数

快速语言中的结构与类

来自Apple的书"结构和类之间最重要的区别之一是结构在代码中传递时总是被复制,但类是通过引用传递的."

任何人都可以让我理解这意味着什么,对我来说,类和结构似乎是一样的.

swift

184
推荐指数
6
解决办法
7万
查看次数

如果"let"关键字用于在swift中定义常量/不可变,那么"static"关键字的用途是什么?

我对在swift中使用static关键字感到有些困惑.正如我们所知,swift引入了let关键字来声明不可变对象.就像声明一个表视图单元的id一样,它最有可能在其生命周期内不会改变.现在什么是在一些struct的声明中使用static关键字:

struct classConstants
{
    static let test = "test"
    static var totalCount = 0
}
Run Code Online (Sandbox Code Playgroud)

let关键字也是这样.在Objective C中,我们使用static来声明一些常量

static NSString *cellIdentifier=@"cellId";
Run Code Online (Sandbox Code Playgroud)

除此之外让我更好奇的是使用static关键字以及letvar关键字.谁能解释一下我在哪里使用这个静态关键字?更重要的是我们真的需要swift的静态吗?

static constants swift

53
推荐指数
3
解决办法
4万
查看次数

Swift - metatype .Type和.self之间有什么区别?

metatype .Type.selfSwift有什么区别?

.self.Type返回struct

我明白.self可以用来检查dynamicType.你怎么用的.Type

swift

51
推荐指数
3
解决办法
1万
查看次数

Swift中的函数和方法有什么区别?

我一直认为函数和方法是一样的,直到我通过"Swift编程语言"电子书学习Swift.我发现我不能greet("John", "Tuesday")用来调用我在类中声明的函数,如下面屏幕截图中的电子书所示:

swift中的函数声明

我收到一条错误,说"根据此屏幕截图,错过了参数标签'日:'正在通话中 ":

swift中的错误消息

这是代码: -

import Foundation
import UIKit

class ViewController2: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        //var dailyStatement = greet("John", "Tuesday")
        var dailyStatement = greet("John", day: "Tuesday")
        println(dailyStatement)
    }

    func greet(name: String, day: String) -> String {
        return "Hello \(name), today is \(day)."
    }
}
Run Code Online (Sandbox Code Playgroud)

经过一些研究,我发现了这篇文章:方法和函数之间的区别,在我看来,我在类中声明的函数实际上被称为方法.因此,与用于调用函数的语法相比,我用于调用方法的语法是不同的.

我在Objective-C编程时从未意识到这种差异.

  1. Swift中的函数和方法有什么区别?

  2. 我们何时使用函数?何时使用Swift中的方法?

methods function swift

46
推荐指数
4
解决办法
2万
查看次数

swift中的类级别或结构级别方法,如Java中的静态方法?

有没有办法在swift中的类级别或结构级别添加方法?

struct Card {
    var rank: Rank
    var suit: Suit
    func simpleDescription() -> String {
        return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"
    }
}
Run Code Online (Sandbox Code Playgroud)

摘录自:Apple Inc."The Swift Programming Language."iBooks.https://itun.es/us/jEUH0.l

现在,如果你想添加一个创建完整卡片组的方法,那么最好的方法是什么呢?

swift

44
推荐指数
3
解决办法
3万
查看次数

静态成员不能在类型的实例上使用

我正在尝试为单例创建一个访问方法.我收到此错误(请参阅下面的代码).我不明白为什么我会收到此错误以及此错误的含义.谁能解释一下?

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
  static private var thedelegate: AppDelegate?

  class var delegate : AppDelegate {
    return thedelegate!
  }

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    thedelegate = self // syntax error: Static member 'thedelegate' cannot be used on instance of type 'AppDelegate'
Run Code Online (Sandbox Code Playgroud)

swift

34
推荐指数
2
解决办法
3万
查看次数

static vs class as class variable/method(Swift)

我知道static关键字用于声明类型变量/在方法struct,enum等等.

但今天我发现它也可以在class实体中使用.

class foo {
  static func hi() {
    println("hi")
  }
  class func hello() {
    println("hello")
  }
}
Run Code Online (Sandbox Code Playgroud)

什么是static关键字的使用class实体?

谢谢!

编辑:我指的是Swift 1.2,如果这有任何区别的话

ios swift

11
推荐指数
1
解决办法
3632
查看次数

静态变量如何存储在Swift的内存中?

如何存储Swift中的静态变量?

  1. 如果我从不调用func useStaticVar()会发生什么?这些变量是否已初始化?

  2. 如果我调用useStaticVar()然后再也不访问它们会发生什么?氩

    struct Something {
        static var myVariable = 0
        static let myConstant = 3
        static var myString: String?
    
        static func useStaticVar() {
            myVariable = myConstant
            myString = String(myVariable)
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

swift

10
推荐指数
1
解决办法
2135
查看次数

Swift中struct static func与class static func之间的区别?

我无法找到任何区别class static functionstruct static function。据我所知,类静态函数不能被继承,而struct没有继承选项。

请不要在课堂上被static func和class func弄糊涂。

class a {
    static func myMethod1() {
    }
}
Run Code Online (Sandbox Code Playgroud)

struct a {
    static func myMethod1() {
    }
}
Run Code Online (Sandbox Code Playgroud)

struct swift

6
推荐指数
1
解决办法
3565
查看次数

标签 统计

swift ×10

static ×2

class ×1

constants ×1

function ×1

ios ×1

methods ×1

struct ×1