小编msc*_*idt的帖子

将 Array<String> 转换为 ArrayList<String>

如何在 Kotlin 中转换Array<String>ArrayList<String>

var categoryList : ArrayList<String>?=null
val list = arrayOf("None", "ABC")
categoryList = ArrayList(Arrays.asList(list))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误

Type inference failed. Expected type mismatch: inferred type is kotlin.collections.ArrayList<Array<String>!> /* = java.util.ArrayList<Array<String>!> */ but kotlin.collections.ArrayList<String>? /* = java.util.ArrayList<String>? */ was expected
Run Code Online (Sandbox Code Playgroud)

arraylist kotlin

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

检查"grant_type"参数

我根据此文档(https://developers.vendhq.com/documentation/oauth.html#oauth)使用OAuth 2.0进行授权并出现此错误.我正在使用提琴手

Content-Type: application/x-www-form-urlencoded

URL : https://{domain_prefix}.vendhq.com/api/1.0/token
Run Code Online (Sandbox Code Playgroud)

请求

方法:POST

内容类型:application/x-www-form-urlencoded

URL:https:// {domain_prefix} .vendhq.com/api/1.0/token

参数:

code = {code}

client_id = {app_id}

client_secret = {app_secret}

grant_type = authorization_code

redirect_uri = {redirect_uri}

oauth-2.0

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

UINavigationController 和弹出 ViewController 时的大标题

我有一个UINavigationController它的navigationBar配置为prefersLargeTitles = trueisTranslucent = false

导航堆栈中的第一个视图控制器是 a ,UITableViewVontrollernavigationItem配置为largeTitleDisplayMode = .always。如果我推送另一个视图控制器并largeTitleDisplayMode = .never再次弹出它,则第一个视图控制器处于大标题折叠的状态。我必须向上滚动才能再次放大标题。

这是iOS 14故意的行为吗?有没有办法恢复大标题?

isTranslucent编辑:我刚刚意识到,该行为与导航栏的属性相关。

uinavigationbar uikit uinavigationcontroller

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

是否有一个计算`fx(gx)`的标准函数?

我在Hoogle上找不到任何东西,但有一个标准函数或运算符,其签名如下:

func :: (a -> b -> c) -> (a -> b) -> a -> c
Run Code Online (Sandbox Code Playgroud)

即给出两个函数fg一个元素x作为参数计算f x (g x)

haskell

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

在启用应用程序组的情况下保持标准NSUserDefaults

原始情况:

我正在macOS 10.13上开发一个沙盒应用程序.它是一个类似鞋盒的应用程序,由带工具栏的主窗口组成.在Interface Builder中设置窗口框架和工具栏配置的自动保存.

如果我运行并退出应用程序,我可以<app-identifier>.plist在应用程序的沙箱容器中看到包含预期数据的首选项文件(已命名).一切正常.

使用应用程序组扩展应用程序:

为了与其他沙盒应用程序进行数据交换,我在CapabilitiesXcode的目标选项卡中创建了一个应用程序组.

到目前为止,这是有效的,即在启动应用程序时会创建一个额外的组容器.还可以通过创建UserDefaults对象来将共享首选项存储到组容器中UserDefaults.init(suiteName:"<group-name>").

问题:

添加应用程序组后,例如工具栏配置的自动保存机制不再有效.在干净的Mac上启动和退出应用程序不再在应用程序容器.plistPreferences目录中创建文件.而是控制台显示如下消息:

[User Defaults] attempt to set <value> for key in <key> in
non-persistent preferences domain CFPrefsPlistSource<address>
(Domain: <app-identifier>, User: kCFPreferencesCurrentUser,
ByHost: No, Container: (null), Contents Need Refresh: Yes)
Run Code Online (Sandbox Code Playgroud)

它找我,自动保存机制不再能够将其数据写入首选项文件.

是否可以在应用程序组中同时使用标准UserDefaults和共享的UserDefaults?

cocoa nsuserdefaults appstore-sandbox appgroups

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

计算第n个元素已删除的所有子列表

我正在寻找一个f给定n元素列表的函数,该函数计算nlength 的子列表的列表n-1。此外,第n个子列表应包含除原始列表的第n个元素以外的所有元素。例如:

f [1..4] == [[2,3,4], [1,3,4], [1,2,4], [1,2,3]]
Run Code Online (Sandbox Code Playgroud)

我找到了一个似乎可行的解决方案,但是看起来很不直观:

f :: [a] -> [[a]]
f [] = []
f xs = reverse $ go (length xs - 1) xs
  where
    go 0 _  = [[]]
    go n xs = [ y:ys | y:xs' <- tails xs, ys <- go (n-1) xs' ]
Run Code Online (Sandbox Code Playgroud)

对于性能合理的解决方案有何建议?

haskell

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