小编Mic*_*mhr的帖子

Swift 2中的HTTP POST错误处理

我是新来的,这是我的第一个问题......我尝试在Swift 2中编写一个发出HTTP POST请求的应用程序,但我无法弄清楚如何使用Swift 2的新错误处理.任何人都可以请告诉我如何在下面的代码片段中实现Swift 2 的" do-try-catch "错误处理?(此代码段使用swift 1.2的旧错误处理)

func post(params : Dictionary<String, String>, url : String) {
    var request = NSMutableURLRequest(URL: NSURL(string: url)!)
    var session = NSURLSession.sharedSession()
    request.HTTPMethod = "POST"

    var err: NSError?
    request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil/*, error: &err*/)
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("application/json", forHTTPHeaderField: "Accept")

    var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
        print("Response: \(response)")
        var strData = NSString(data: data!, encoding: NSUTF8StringEncoding)
        print("Body: \(strData)")
        var err: NSError?
        var json = NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves/*, error: &err*/) …
Run Code Online (Sandbox Code Playgroud)

error-handling post http nsjsonserialization swift2

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

Swift 2 检查端口是否繁忙

有人能告诉我如何在 Swift2 中找出 Port 是否繁忙吗?

因为我写了一个 mac 应用程序,它有一个自写的 Tcp 服务器,但有时它无法启动,因为它“无法绑定到端口”。那么如何检查端口是否未使用,再次阻止 Tcp 服务器的启动按钮,直到端口空闲?

我不想要一个新的框架。

谢谢

port network-programming swift2

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

Swift 包与系统框架的链接

有人可以告诉我如何将系统框架链接到 Swift 包管理器中的目标吗?当我直接在 Xcode 中链接它时,它可以完美运行,但我不知道如何在 Package.swift 文件中指定它。

提前致谢,迈克尔

xcode frameworks swift swift-package-manager

5
推荐指数
0
解决办法
355
查看次数

来自字符串的 Swift Keypath

有没有办法从 Swift 4 中的字符串创建 Keypath 以通过其路径或变量名访问结构中的值

最后我发现我应该使用 CodingKeys 而不是 KeyPaths 来通过 String 访问结构的变量的值

提前致谢,迈克尔

swift4 keypaths

5
推荐指数
0
解决办法
2914
查看次数

在Swift 2中使用Predicate的领域搜索数据库

我在Swift2中编写了一个(Mac)应用程序,它应该搜索具有特定主题的教师的Realm数据库.领域中教师对象的定义如下所示:

class Teacher: Object {
     var subjects = List<Subject>()
}
Run Code Online (Sandbox Code Playgroud)

这个类非常复杂所以我删除了一些行...

这里的函数应该过滤具有特定主题的教师数据库,并仅返回教师姓名(如String Array :) [String]:

func getAllTeacherNamesForSubject(subject: String) -> [String] {
    // Open Database
    let realm = openRealmDatabase()

    // Or open it this way:
    // RLMRealm.setDefaultRealmPath("/Users/name/Data.realm")
    // var realm: Realm!
    // realm = try! Realm()

    // filter the Database with Predicate
    let objects = realm.objects(Teacher).filter("!!! Need Help !!!", subject)
    // How can I filter the Database? I want to get all the Teachers for that subject

    // …
Run Code Online (Sandbox Code Playgroud)

predicate realm swift2

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

嵌套类的键路径

如何从嵌套类创建 KeyPath?我不知道如何使用反斜杠访问嵌套类。

示例代码:

class Config {
    var clients: Array<Client> = [Client()]

    // Nested Class
    class Client {
        public var name: String = "SomeName"
    }
}

var conf = Config()

func accessValue<T, U>(
    _ keyPath: ReferenceWritableKeyPath<Config, Array<T>>,
    valuePath: ReferenceWritableKeyPath<T ,U>) -> Any {

    let member: Array<T> = conf[keyPath: keyPath]
    let firstMember: T = member.first!

    let value = firstMember[keyPath: valuePath]

    return value
}

// How should I call this function?
print(accessValue(\Config.clients, valuePath: wanna_know))
// Should print "SomeName"
Run Code Online (Sandbox Code Playgroud)

提前致谢!

swift4 keypaths

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

在 Swift 中将 switch 转换为 if else

我想将 SwiftyJSON 的所有 switch 语句转换为 if-else 条件,因为 switch 语句会导致大量内存泄漏。

我几乎已经转换了所有的 switch 语句,但我被这个困住了:

fileprivate subscript(sub sub: JSONSubscriptType) -> JSON {
    ...
    switch sub.jsonKey {
        case .index(let index): return self[index: index]
        case .key(let key): return self[key: key]
    }
    ...
}

public enum JSONKey {
    case index(Int)
    case key(String)
}
Run Code Online (Sandbox Code Playgroud)

有人能帮助我吗?

switch-statement swift swifty-json

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