小编Far*_*ruk的帖子

Alamofire:如何在全球范围内处理401?

我正在尝试构建一个管理我的项目的网络调用的类.到目前为止,我的意思是在全球范围内处理错误,一切都很好.我创造了两个功能; 用于发布请求postRequest(:_)和获取请求getRequests(:_).Datamaker用于返回URL,参数,标题等数据,dataparser函数用于解析响应数据,最后用于解决调用错误的函数errorHandler().

当我调用请求函数时,我给出一个参数来帮助它应该发出的请求函数.在函数中,它首先调用数据制作者获取数据,然后发出请求Alamofire,最后如果请求成功则调用dataparser和onSuccess(data:)闭包,或者如果它不是调用errorHandler(statusCode:)onFailure(message:)关闭.

我将一个开关块放入errorHandler并为其参数提供了statusCode.在case 401我打电话,Token().refresh()并在它完成称为errorHanlder完成.在postRequest/ errorHandler的完成块中,我postRequest使用相同的参数再次调用.它没用.我不知道为什么,它每次都进入无限循环并连续提出请求.

所以我决定尝试cnoonAuthorizationManager课程(可以在这个链接中找到; Alamofire:如何在全球范围内处理错误).我稍微改了一下(添加了一个新的参数作为标题并改变了NetworkSuccessHandler类型NSData).这是新表格:

public class AuthorizationManager: Manager {
    public typealias NetworkSuccessHandler = (NSData?) -> Void
    public typealias NetworkFailureHandler = (NSHTTPURLResponse?, AnyObject?, NSError) -> Void

    private typealias CachedTask = (NSHTTPURLResponse?, AnyObject?, NSError?) -> Void

    private var cachedTasks = Array<CachedTask>()
    private …
Run Code Online (Sandbox Code Playgroud)

networking ios swift alamofire

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

将分段样式选择器添加到 SwiftUI 的 NavigationView

问题和标题一样简单。我正在尝试将Picker具有SegmentedPickerStyleto样式的 aNavigationBar放入SwiftUI. 它就像本机Phone应用程序的历史记录页面。图片在下面

在此处输入图片说明

我曾在 Google 和 Github 上寻找过例如项目、库或任何教程,但都没有找到。我认为如果 nativa 应用程序和 WhatsApp 例如有它,那么它应该是可能的。任何帮助,将不胜感激。

picker navigationbar swift navigationview swiftui

8
推荐指数
3
解决办法
3476
查看次数

如何对连续音频进行分类

我有一个音频数据集,每个都有不同的长度.这些音频中有一些事件,我想训练和测试,但这些事件是随机放置的,加上长度不同,使用该数据集构建机器学习系统真的很难.我想要修复默认的长度大小并构建多层NN,但事件的长度也不同.然后我考虑使用CNN,就像它用于识别图像上的图案或多个人一样.这个问题是我在尝试理解音频文件时真的很挣扎.

所以,我的问题,是否有人可以给我一些关于构建机器学习系统的技巧,该系统将不同类型的已定义事件分类,并在具有这些事件的数据集上进行自我训练(1个数据包含多于1个事件,它们是不同的来自彼此.)并且他们每个人都有不同的长度?

如果有人帮忙,我将非常感激.

python classification machine-learning conv-neural-network recurrent-neural-network

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

SwiftUI 中联系人应用程序的联系人列表

您好,我正在尝试构建一个界面,列出所有联系人,就像Contacts具有Phone相同UI. 到目前为止我所尝试的如下。基本上我尝试CNContactPickerViewController使用ContactsUI. UIViewControllerRepresentable然而我得到的是一张空白的白页。

struct ContactsViewController: UIViewControllerRepresentable {

    func makeUIViewController(context: UIViewControllerRepresentableContext<ContactsViewController>) -> CNContactPickerViewController {
        let controller = CNContactPickerViewController()
        controller.delegate = context.coordinator
        controller.displayedPropertyKeys = [CNContactGivenNameKey]
        return controller
    }

    func updateUIViewController(_ uiViewController: CNContactPickerViewController, context: UIViewControllerRepresentableContext<ContactsViewController>) {
        print("updating")
    }

    func makeCoordinator() -> Coordinator {
        return Coordinator(self)
    }

    class Coordinator: NSObject, CNContactPickerDelegate {
        var parent: ContactsViewController

        init(_ contactsViewController: ContactsViewController) {
            self.parent = contactsViewController
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

以及 SwiftUI 文件;

struct ContactsView: View {
    var …
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller swift cncontactpicker contactsui swiftui

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

SwiftUI 预览版 - 无法构建方案,没有这样的模块“ProjectName”

我正在尝试Preview为一个基于SwiftUI. 起初,我创建了名为“VOIP”的项目。经过一段时间的开发和时间,我将它连接到AppStore Connect并且项目的名称以不同的方式创建,假设VoipApp. 我可以毫无问题地将项目构建到模拟器或设备中,但是当我尝试预览 a 时SwiftUI View,它会No such module VOIP在项目导航器中显示。但正如我所说,它只会在我尝试预览时发生。

这是诊断程序;

no such module \'VOIP\'

----------------------------------------

SchemeBuildError: Failed to build the scheme "VOIP"

no such module 'VOIP'

Compile /Users/myuser/Projects/VOIP/VOIPTests/VOIPTests.swift:
/Users/myuser/Projects/VOIP/VOIPTests/VOIPTests.swift:10:18: error: no such module 'VOIP'
@testable import VOIP
             ^ 
Run Code Online (Sandbox Code Playgroud)

我尝试了网络上的一些答案,但都没有奏效。

testing xcode preview swift swiftui

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

如何将多个视图控制器链接到一个容器视图?

我想将多个视图控制器链接到一个容器视图.我想如果我以编程方式进行链接过程,那就可能发生.

"Home","Profile","Settings"等按钮很少.我想在用户单击其中一个按钮时使用按钮标签更改容器视图的内容.这可能吗?

谢谢.

注意:我无法更改链接到容器的viewcontroller内容.因为每个按钮应该有不同类型的viewcontroller.(例如navigationvc,tableviewvc)

----根据要求编辑

有一个主要的VC.左侧有一个侧边栏,还有一些按钮.这些按钮用于更改容器视图的内容.我没有在故事板上添加任何segue,因为我只能添加一个.在这一点上,我想以编程方式执行segue而不是更简单的方式.所以我可以用我想要的任何视图控制器填充容器视图的内容.但我不知道怎么办呢?

侧边栏按钮:

主页和配置文件 - >调用将由容器显示的不同ViewController

设置,Messagges,Shop - >调用将由容器显示的不同TableViewController

不久,有五个按钮,每个按钮触发五个不同的视图控制器不同的segue.并且只有一个容器显示触发的View Controller.

我可以更改除侧边栏之外的任何内容.必须有侧边栏.

ios uicontainerview swift xcode6

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

SwiftUI 更改 SF Symbol 内部透明部分的颜色

我正在尝试更改SF Symbol被调用的delete.left.fill. 到目前为止,我已经尝试如下

Button(action: { return }, label: {
                        Image(systemName: "delete.left.fill")
                            .background(Color.black)
                            //.accentColor(.black)
                            .font(.system(size: self.fontSize*0.75))
                    })
                        .frame(width: self.width, height: self.width)
                        .foregroundColor(.lightGray)
                        //.background(Color.black)
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,结果就像

象征.

起初,x符号的内部与背景颜色相同。我想让它变黑。

  1. 我试图设置backgroundColorButton,这让全Button黑。
  2. 我试图设置accentColorImage黑色。没有改变。
  3. 我试图设置backgroundColorImage黑色。结果可以在图像中看到。

问题是,有没有办法以编程方式xsymbol, black 中做到这一点?

image swift swiftui sf-symbols

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

如何对齐 UICollectionViewCell?

我正在尝试UICollectionView根据这个主题构建一个标签流布局:http : //codentrick.com/create-a-tag-flow-layout-with-uicollectionview/

它一直工作到按钮动作,但有一个问题。正如您在下图中所看到的, customUICollectionViewCell不像主题那样正确对齐。我做的一切都一样,但是FlowLayout.swift

在此处输入图片说明

我想在这些单元格之间留出相等的间隙。但他们是这样对齐的。

你可以在FlowLayout.swift下面找到。

有人能告诉我我该如何解决吗?

import Foundation
import UIKit

class FlowLayout: UICollectionViewFlowLayout {

    override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {

        let attributesForElementsInRect = super.layoutAttributesForElementsInRect(rect)
        var newAttributesForElementsInRect = [UICollectionViewLayoutAttributes]()

        var leftMargin : CGFloat = 0.0

        for attributes in attributesForElementsInRect! {
            let refAttributes = attributes
            // assign value if next row
            if (refAttributes.frame.origin.x == self.sectionInset.left) {
                leftMargin = self.sectionInset.left
            } else {
                // set x position of attributes to current margin …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview uicollectionviewcell uicollectionviewlayout swift

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