GVKun编程网logo

Swift类中的静态vs类函数/变量?(类中静态成员)

9

针对Swift类中的静态vs类函数/变量?和类中静态成员这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展1.3Swift语言中的常量和变量[Swift原创教程]、AWESOMESWIFT-s

针对Swift类中的静态vs类函数/变量?类中静态成员这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展1.3 Swift语言中的常量和变量 [Swift原创教程]、AWESOME SWIFT-swift.libhunt.com-swift类库网站、ios – 为什么我不能通过在Swift中调用静态函数来初始化静态变量?、iOS导入swift类从swift使用框架等相关知识,希望可以帮助到你。

本文目录一览:

Swift类中的静态vs类函数/变量?(类中静态成员)

Swift类中的静态vs类函数/变量?(类中静态成员)

以下代码在Swift 1.2中进行编译:

class myClass {    static func myMethod1() {    }    class func myMethod2() {    }    static var myVar1 = ""}func doSomething() {    myClass.myMethod1()    myClass.myMethod2()    myClass.myVar1 = "abc"}

静态 函数和 函数有什么区别?我应该使用哪一个?何时使用?

如果我尝试定义另一个变量class var myVar2 = "",它说:

类中尚不支持的类存储属性;您是说“静态”吗?

如果支持此功能,则 静态 变量和 变量之间有什么区别(即,当两者都在类中定义时)?我应该使用哪一个?何时使用?

(Xcode 6.3)

答案1

小编典典

staticclass与类两者关联的方法,而不是一个类的实例。区别在于子类可以覆盖class方法。他们不能覆盖static方法。

class 属性在理论上将以相同的方式起作用(子类可以覆盖它们),但是在Swift中尚无法实现。

1.3 Swift语言中的常量和变量 [Swift原创教程]

1.3 Swift语言中的常量和变量 [Swift原创教程]

1. 常量和变量是构成表达式的重要组成部分。本节课将为您演示开发语言的常量和变量。现在开始编写示例代码。


2. 这里使用let关键词声明了一个常量,常量一经定义,不能修改它的数值。
3. 如果尝试修改常量的数值,则会出现错误提示信息。点击提示信息左侧的图标,查看系统提供的修改建议。
4. 然后点击此处的修复按钮,将常量关键词修改为[var]关键词,以修复刚刚的错误。
5. 此时常量被修改为变量,因此可以任意修改它的数值。按下键盘上的快捷键,撤消上一步的操作。
6. 接着修改此处的代码,创建另一个常量。
7. 为了和变量进行区别,常量最好使用全部大写的表达方式。
8. 变量的命名方式有多种,在此使用了驼峰命名法,即以小写字母作为开始,其余单词的首字母大写。
9. 定义第二个变量,该变量的名称使用下划线作为单词之间的分隔符,这是另一种常见的命名方式,你可以根据个人爱好,选择一种变量命名的方式。
本文整理自:《Swift4互动教程》,真正的 [手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载: https://itunes.apple.com/cn/app/id1320746678 ,或扫描本页底部的二维码。课程配套素材下载地址: 资料下载

AWESOME SWIFT-swift.libhunt.com-swift类库网站

AWESOME SWIFT-swift.libhunt.com-swift类库网站

https://swift.libhunt.com/categories/688-events

29 Events libraries and projects

  • ORDERED BY POPULARITY
  • ORDER BY DEV ACTIVITY
  •  ReactiveCocoa

      10.0   7.3  Objective-C
    ReactiveCocoa (RAC) is a Cocoa framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
  •  RxSwift

      9.9   8.8 L3  Swift
    Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform.
  •  PromiseKit

      9.8   8.7 L5  Swift
    async promise programming lib.
  •  ReSwift

      9.6   6.3 L5  Swift
    Unidirectional Data Flow in Swift
  •  Bond

      9.3   8.8 L1  Swift
    a Swift binding framework.
  •  BrightFutures

      8.3   4.7 L4  Swift
    promise and future lib for swift.
  •  Katana

      8.2  8.7 L4  Swift
    Swift apps a la React and Redux.
  •  ReactorKit

      7.8   6.4  Swift
    A framework for reactive and unidirectional application architecture.
  •  ReactKit

      7.4   0.0 L3  Swift
    Swift Reactive Programming.
  •  FutureKit

      6.4  0.7 L2  Swift
    A Swift based Future/Promises Library.
  •  SwiftEventBus

      6.4   3.2 L5  Swift
    A publish/subscribe event bus optimized for iOS.
  •  EmitterKit

      5.7  3.5 L5  Swift
    an implementation of event emitters and listeners in swift.
  •  Signals

      4.9   3.3 L5  Swift
    replaces delegates and notifications.
  •  Safe

      4.9   0.0 L2  Swift
    A modern concurrency and synchronization for Swift.
  •  snail

      4.5   7.1 L5  Swift
    An observables framework for Swift
  •  Reactor

      4.1   2.4 L5  Swift
    Powering your RAC architecture.
  •  VueFlux

      3.8  6.8  Swift
    Unidirectional Data Flow State Management Architecture
  •  SignalKit

      3.7   0.0 L5  Swift
    Swift event and binding framework.
  •  Observable

      3.7   6.2  Swift
    The easiest way to observe values.
  •  When

      3.4   5.4 L5  Swift
    A lightweight implementation of Promises in Swift.
  •  Caravel

      3.3   0.0 L2  Swift
    A Swift event bus for UIWebView and JS.
  •  Future

      2.5   0.0 L4  Swift
    A micro framework providing Future.
  •  NoticeObserveKit

      2.3   0.0 L5  Swift
    NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
  •  Aftermath

      1.8   0.0 L5  Swift
    Stateless message-driven micro-framework in Swift.
  •  Notificationz

      1.6   2.5 L5  Swift
    Helping you own NSNotificationCenter by providing a simple,customizable adapter.
  •  Forbind

      1.2   0.0 L4  Swift
    Functional chaining and Promises in Swift.
  •  ReduxSwift

      1.0   0.0 L5  Swift
    Predictable state container for Swift apps too
  •  PureFutures

      0.7   0.0 L4  Swift
    Futures and Promises library.
  •  SSEventFlow

      0.3  4.4 L5  Swift
    A type safe alternative to NSNotification,inspired by Flux.

ios – 为什么我不能通过在Swift中调用静态函数来初始化静态变量?

ios – 为什么我不能通过在Swift中调用静态函数来初始化静态变量?

据我所知,从 Xcode 6.3 / Swift 1.2开始,我可以在类中使用静态变量和方法.但是,当我尝试通过调用静态函数初始化静态变量时,编译器不喜欢它(我在下面的示例中得到错误’使用未解析的标识符getDefaultString’).这是一个演示我的问题的片段:
import Foundation

public class Settings {
    private static var _bundle = NSBundle.mainBundle()
    static func getDefaultString(key: String) -> String {
        return _bundle.objectForInfoDictionaryKey(key) as! String
    }

    private static var _server = getDefaultString("DefaultServer")
    public class var server: String {
        get { return _server }
        set { _server = newValue }
    }
}

有人能帮我理解为什么我不能这样做吗?

解决方法

这应该工作:
private static var _server = Settings.getDefaultString("DefaultServer")

我不确切地知道为什么,似乎在游戏中存在某种假设,即在其前面没有类型限定的方法是实例方法.但这并不完全有效.例如.这会在游乐场产生有趣的结果:

class Foo {

        static func initFoo() -> String {
            return "static"
        }

        func initFoo() -> String {
            return "instance"
        }

        static var foo: String = initFoo()

    }

    Foo.foo

…不需要在initFoo()前面限定类型,但仍然会选择静态类型.可能是一个小错误.

iOS导入swift类从swift使用框架

iOS导入swift类从swift使用框架

如何从框架导入 Swift类?

>我有Xcode工作区
>我使用Swift创建了一个Cocoa触摸框架
>我在Cocoa触摸框架中创建一个名为TestClass的Swift类
>我创建了一个Tabbed Base iOS应用程序
>我使用导入FrameWorkTest在该标签iOS应用程序中导入我的框架

应用程序项目编译器找不到TestClass.
如何导入用于主应用程序的TestClass?

它说TestClass没有定义.我也想在FrameWork中添加一个扩展名,然后使用它.

https://github.com/ArtemKyslicyn/-SwiftImportFrameworkTest

我正在使用本教程
http://www.swift-studies.com/blog/2014/6/30/creating-a-pure-swift-framework-for-both-ios-and-mac

我在Xcode版本6.0种子

谢谢

解决方法

将框架公开化.如果您希望它们在框架之外使用,任何变量也必须是公共的.
public class MyClass... {
 ...
}

关于Swift类中的静态vs类函数/变量?类中静态成员的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于1.3 Swift语言中的常量和变量 [Swift原创教程]、AWESOME SWIFT-swift.libhunt.com-swift类库网站、ios – 为什么我不能通过在Swift中调用静态函数来初始化静态变量?、iOS导入swift类从swift使用框架的相关信息,请在本站寻找。

本文标签: