小编Ham*_*ish的帖子

关闭使用非转义参数可能允许它逃脱

我有一个协议:

enum DataFetchResult {
    case success(data: Data)
    case failure
}

protocol DataServiceType {
    func fetchData(location: String, completion: (DataFetchResult) -> (Void))
    func cachedData(location: String) -> Data?
}
Run Code Online (Sandbox Code Playgroud)

通过示例实现:

    /// An implementation of DataServiceType protocol returning predefined results using arbitrary queue for asynchronyous mechanisms.
    /// Dedicated to be used in various tests (Unit Tests).
    class DataMockService: DataServiceType {

        var result      : DataFetchResult
        var async       : Bool = true
        var queue       : DispatchQueue = DispatchQueue.global(qos: .background)
        var cachedData  : Data? = nil

        init(result …
Run Code Online (Sandbox Code Playgroud)

closures swift swift3 xcode8-beta6

108
推荐指数
2
解决办法
5万
查看次数

如何使用Swift Decodable协议解码嵌套的JSON结构?

这是我的JSON

{
    "id": 1,
    "user": {
        "user_name": "Tester",
        "real_info": {
            "full_name":"Jon Doe"
        }
    },
    "reviews_count": [
        {
            "count": 4
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我想要保存的结构(不完整)

struct ServerResponse: Decodable {
    var id: String
    var username: String
    var fullName: String
    var reviewCount: Int

    enum CodingKeys: String, CodingKey {
       case id, 
       // How do i get nested values?
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经查看了Apple的解码嵌套结构的文档,但我仍然不明白如何正确地执行不同级别的JSON.任何帮助都感激不尽.

json swift swift4 codable

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

最终班级和班级有什么区别?

最终班级和班级有什么区别?

final class A {

}

class B {    

}
Run Code Online (Sandbox Code Playgroud)

swift

40
推荐指数
7
解决办法
2万
查看次数

application(_:didFinishLaunchingWithOptions :)'几乎匹配可选要求

安装Xcode 8 beta 6后,我收到一条警告说:

实例方法'application(_:didFinishLaunchingWithOptions :)'几乎匹配协议'UIApplicationDelegate'的可选要求'application(_:didFinishLaunchingWithOptions :)'

在我的App代表中.

有2个建议的修正来使警告静音:

  1. 将该方法标记为私有
  2. 将@nonobjc添加到方法中

做任何一个都会使警告静音.但为什么需要这样做呢?

ios swift swift3 xcode8-beta6

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

在Xcode中截取屏幕截图

我目前正在尝试截取我的应用程序的屏幕截图,以便将其发布到App Store.

问题是,当我在iPhone 6S模拟器(4,7英寸)上截取屏幕截图并将其上传到iTunes Connect时,它表示尺寸太小(375x667),并且要求它们至少为750x1334.

我是以错误的方式截取屏幕截图还是我的Xcode模拟器无法在高维度上截取屏幕截图?

xcode ios ios-simulator

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

我可以在Swift中为泛型类型T指定默认类型吗?

我有一个泛型类,我希望能够使用默认类型.现在我可以用任何类型初始化它,但我必须明确.

//Initialize with a type
MyManager<MyCustomerObject>()

// Initialize with NSObject (what I want to be my default type)
MyManager<NSObject>()

// This doesn't work, but I want this kind of functionality
class MyManager<T = NSObject> {}

// So I can create my manager like so and it inserts the default type as NSObject
MyManager() //Or MyManager<>()
Run Code Online (Sandbox Code Playgroud)

这在Swift中可能吗?

generics swift

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

Swift3:如何处理优先级现在运算符应该用body声明?

运营商的前Swift 3代码是:

infix operator × {associativity left precedence 150}
Run Code Online (Sandbox Code Playgroud)

但是现在,根据Xcode 8 beta 6,这会产生以下警告:

"operator should not be declared with body"
Run Code Online (Sandbox Code Playgroud)

使用优先级组谓词的正确方法是什么,因为现在没有doc存在?

我试过这个,但不起作用:

infix operator × : times
precedencegroup times {
     associativity: left 
     precedence: 150
}
Run Code Online (Sandbox Code Playgroud)

operators swift swift3 xcode8-beta6

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

是否快速复制所有结构的写入?

我知道swift会优化复制写入数组,但它会为所有结构执行此操作吗?例如:

struct Point {
   var x:Float = 0
}

var p1 = Point()
var p2 = p1 //p1 and p2 share the same data under the hood
p2.x += 1 //p2 now has its own copy of the data
Run Code Online (Sandbox Code Playgroud)

value-type copy-on-write swift

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

删除类丢弃错误消息未知>:0:错误:没有这样的文件或目录:

所以我和一些朋友在一个bitbucket项目上工作,并且已经意识到bitbucket有时不会同步所有文件.但这是发生了什么:

我继续工作并创建了一个类,我基本上复制了一个旧的View Controller(称为WelcomescreenViewController.swift- > CreateAccountViewController.swift)并在主故事板中进行了一些调整.在这里,我删除了新的所有旧插座,然后为ViewController创建了一个自己的类,并在主故事板中将它与它连接起来.

现在发生的是有一些问题,我还原了一切,并再次删除了这两件事.基本上现在Xcode仍然认为应该有类.它总是丢弃消息:

在此输入图像描述

我还使用我的文件从目录中截取屏幕截图,如下所示:

在此输入图像描述

我试图再次创建该类,以便Xcode很高兴,但它没有帮助.文件是在某个地方链接的,或者我该怎么做,教Xcode嘿,一切都很好,不介意旧文件CreateAccountViewController.swift

xcode bitbucket viewcontroller ios swift

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

扩展可能不包含存储的属性,但为什么允许静态

扩展不能包含存储属性,但为什么可以在扩展中定义静态存储属性?

我也没有找到任何文档提到扩展中允许静态属性.

extension String {
  static let test = "Test"
  static var test2 = "Test2"
}
Run Code Online (Sandbox Code Playgroud)

swift swift-extensions

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