相关疑难解决方法(0)

全局常量文件在Swift中

在我的Objective-C项目中,我经常使用全局常量文件来存储通知名称和键等内容NSUserDefaults.它看起来像这样:

@interface GlobalConstants : NSObject

extern NSString *someNotification;

@end

@implementation GlobalConstants

NSString *someNotification = @"aaaaNotification";

@end
Run Code Online (Sandbox Code Playgroud)

我如何在Swift中做同样的事情?

objective-c ios swift

322
推荐指数
10
解决办法
15万
查看次数

静态枚举和静态结构之间的区别

假设枚举或结构在实例中不存储任何值,则它们是静态的.静态枚举和静态结构之间有什么区别吗?

enum StaticEnum {
    static var someStaticVar = 0
    static func someStaticFunc() {}
}

struct StaticStruct {
    static var someStaticVar = 0
    static func someStaticFunc() {}
}
Run Code Online (Sandbox Code Playgroud)

swift

14
推荐指数
1
解决办法
5335
查看次数

字符串类型与带有静态常量的结构的枚举

看起来当需要使用enum(字符串类型)时,也可以使用struct使用静态字段来实现.

例如

enum Test: String {
  case TestCase1
  case TestCase2
  case TestCase3
}
Run Code Online (Sandbox Code Playgroud)

要么

struct Test {
  static let TestCase1 = "TestCase1"
  static let TestCase2 = "TestCase2"
  static let TestCase3 = "TestCase3"
}
Run Code Online (Sandbox Code Playgroud)

枚举方法何时优先于另一方,反之亦然?

enums struct swift

5
推荐指数
1
解决办法
1528
查看次数

是否可以使用Swift将元组放入枚举中?

如果我有以下枚举:

enum FruitTuple
{
    static let Apple = (shape:"round",colour:"red")
    static let Orange = (shape:"round",colour:"orange")
    static let Banana = (shape:"long",colour:"yellow")
}
Run Code Online (Sandbox Code Playgroud)

然后我有以下功能:

static func PrintFruit(fruit:FruitTuple)
{
    let shape:String = fruit.shape
    let colour:String = fruit.colour

    print("Fruit is \(shape) and \(colour)")
}
Run Code Online (Sandbox Code Playgroud)

fruit.shapefruit.colour我得到错误:

Value of type 'FruitTuple' has no member 'shape'

很公平,所以我改变枚举有一个类型:

enum FruitTuple:(shape:String, colour:String)
{
    static let Apple = (shape:"round",colour:"red")
    static let Orange = (shape:"round",colour:"orange")
    static let Banana = (shape:"long",colour:"yellow")
}
Run Code Online (Sandbox Code Playgroud)

但是在枚举声明中我得到了错误:

Inheritance from non-named type '(shape: String, …

enums tuples swift

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

是否有技术原因使用 Swift 的无壳枚举而不是真实案例?

作为 Swift 的新手,这就是我发现的:

enum HttpMethod {
  static let post = "POST"
  static let get = "GET"
}

// can assign to string property.
request.httpMethod = HttpMethod.post // --> "POST"
Run Code Online (Sandbox Code Playgroud)

阅读本文后,使用无壳enum而不是无壳的原因对struct我来说很有意义,但这不是我在这里感兴趣的事情。

拥有强大的 C# 背景,这就是我实现它的方式:

enum HttpMethod: String {
  case post = "POST"
  case get = "GET"
}

// I'd even consider this alternatively:
enum HttpMethod: String {
  case post
  case get
}

// Must retrieve string value
request.httpMethod = HttpMethod.post.rawValue // --> "POST" or "post" …
Run Code Online (Sandbox Code Playgroud)

enums swift

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

Swift是否支持静态类?

我想知道你是否可以在swift中创建类似于C#中的静态类,即一个无法实例化的类,它只能有静态函数和静态属性.这些类型的课程是否可以迅速实现?

如果没有,考虑到Swift中可用的工具,重建这种设计模式的最有效方法是什么?

static-classes swift

2
推荐指数
2
解决办法
4957
查看次数

使用静态方法的服务对象的struct,class或enum?

我想用静态方法构建一个服务对象.我应该在这种情况下使用struct或class或enum吗?有什么区别?可能会影响编译时间?可能它会以某种方式影响速度?我知道结构对于实例更快.但它如何影响这种情况呢?

你的意见?你体验过吗?

谢谢.

struct/class/enum Linker {

    public static func skypeCall(contact:String) {
        //...
    }

    public static func phoneCall(phoneNumber:String) {
        //...
    }

    public static func openWebPage(url:String) {
       //... 
    }
}
Run Code Online (Sandbox Code Playgroud)

enums static struct class swift

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

标签 统计

swift ×7

enums ×4

struct ×2

class ×1

ios ×1

objective-c ×1

static ×1

static-classes ×1

tuples ×1