小编Noa*_*oah的帖子

是否可以将标记文档添加到Swift模块中?

Xcode允许在编辑器中显示Swift/Obj-C的Markup文档,例如:

/// A function
func foo() {}
Run Code Online (Sandbox Code Playgroud)

结果是 文件

我注意到Apple提供的框架有模块级文档.如基金会: 文件 有没有办法将此模块级文档添加到自定义框架?

markup xcode swift

8
推荐指数
0
解决办法
132
查看次数

FileManager.url(for:in:propertyFor:create:) 中的“propertyFor”参数是什么?

Apple 创建临时 URL 的说明是使用FileManager.url(for:in:appropriateFor:create:). 他们给出的例子是(用 Swift 3 重写):

let desktopURL = URL(fileURLWithPath: "/Users/Noah/Desktop/")
do {
    let temporaryDirectoryURL = try FileManager.default.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: desktopURL, create: true)
} catch {
    // handle error
}
Run Code Online (Sandbox Code Playgroud)

文档说该appropriateFor参数“决定了返回 URL 的数量”,但我不明白这是什么意思。这个参数的用途是什么,我应该如何确定要为其传入的 URL?

temporary-directory swift

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

Swift 中的装饰器

我是 Swift 的新手,我想知道该语言是否有一些等效于 Python 的装饰器模式。
例如:

import functools


def announce(func):
    """Print a function's arguments and return value as it's called."""
    @functools.wraps(func)
    def announced_func(*args, **kwargs):
        rv = func(*args, **kwargs)
        print('In: {0}, {1}'.format(args, kwargs))
        print('Out: {}'.format(rv))
        return rv
    return announced_func


@announce  # add = announce(add)
def add(a, b):
    return a + b

add(2, 5)
# In: (2, 5), {}
# Out: 7
# 7
Run Code Online (Sandbox Code Playgroud)

也许我只是还没有找到它,但 Swift 似乎没有办法将任意参数转发给函数或保留包装函数的信息(如 functools.wraps 那样)。

是否有等价物,或者该模式不打算在 Swift 中使用?

decorator composition swift

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

使用 sessionOnly:False 设置 cookie

有没有办法在 Swift 中手动设置 cookie,使其在会话结束时不会过期?文档sessionOnly应该默认为 false 并且可以使用该属性进行设置discard,但它似乎对我不起作用。我试过了:

import Foundation


let cookie = HTTPCookie(properties: [
    .domain: ".google.com",
    .path: "/",
    .name: "foo",
    .value: "bar",
    .discard: "FALSE"
])!


HTTPCookieStorage.shared.setCookie(cookie)

let cookies = HTTPCookieStorage.shared.cookies(for: URL(string: "https://google.com")!)

print(cookies)
// Optional([<NSHTTPCookie version:0 name:"foo" value:"bar" expiresDate:(null) created:2016-11-23 16:00:37 +0000 sessionOnly:TRUE domain:".google.com" partition:"none" path:"/" isSecure:FALSE>])
Run Code Online (Sandbox Code Playgroud)

但如图所示,生成的 cookiesessionOnly的值为 true。

cookies http swift

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

Python中的回溯对象的类型是什么?

import sys

try:
    raise Exception('foobar')
except:
    info = sys.exc_info()

print(type(e[2])) # <class 'traceback'>
help(traceback) # NameError: name 'traceback' is not defined
Run Code Online (Sandbox Code Playgroud)

Python用于异常报告的回溯对象的类型究竟是什么?

sys.exc_info上的文档提到了参考手册,但是虽然我发现了很多关于如何操作回溯实例的信息,但我希望能够访问类型(类)本身.

python exception traceback

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