小编Ash*_*shh的帖子

如何在Swift中解析数组JSON到数组

我正在尝试解析JSON,如下所示

    [
     {
     "People": [
                  "Jack",
                  "Jones",
                  "Rock",
                  "Taylor",
                  "Rob"
                  ]
     },
     {
     "People": [
          "Rose", 
          "John"

        ]
      },
      {
        "People": [
          "Ted"
        ]
      }
]
Run Code Online (Sandbox Code Playgroud)

一个数组导致[["杰克","琼斯","摇滚","泰勒","罗布"],["玫瑰","约翰"],["泰德"]]

这是数组的数组.

我试过下面的代码

if let path = Bundle.main.path(forResource: "People", ofType: "json")
        {

            let peoplesArray = try! JSONSerialization.jsonObject(with: Data(contentsOf: URL(fileURLWithPath: path)), options: JSONSerialization.ReadingOptions()) as? [AnyObject]
            for people in peoplesArray! {
              print(people)
            }

        }
Run Code Online (Sandbox Code Playgroud)

当我打印"人"时,我得到了o/p as

{
    People =     (
        Jack,
        "Jones",
        "Rock",
        "Taylor",
        "Rob"
    );
}
{
    People =     (
        "Rose",
        "John"
    );
}
 ..... …
Run Code Online (Sandbox Code Playgroud)

arrays json ios swift

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

将现有函数作为参数传递给 Swift 3 中的另一个函数

我对 swift 很陌生,正在尝试找到将函数作为参数传递给另一个函数的方法。我的代码结构如下

func createDictionaryFromParams(param1: [String:String], param2: String, param3: String) -> [String:String] {
   param1["name"] = "John"
   param1["university"] = param2
   return [:]
}
func toPassAsParam() -> [String:String] {
   //doStuff
   return [:]
}

public struct passFunction {
   let dict = createDictionaryFromParams(param1: toPassAsParam(), param2: "Texas", param3: "Florida")
}
Run Code Online (Sandbox Code Playgroud)

当我在游乐场/应用程序中执行上述代码时,我收到错误“无法通过下标分配:param1 是一个 let 常量”

不知道我哪里出错了。请指导我。请参阅游乐场中确切代码的屏幕截图在此输入图像描述

closures function ios swift

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

堆栈视图中控件的可访问性

我有一个水平堆栈视图,带有水平按钮和标签

当我打开旁白时,这些按钮中的文本根本无法阅读。其他所有工作正常。

下面是我如何设置我的代码。请指导如何启用这些功能。不知道为什么这不起作用

我的按钮文本和标签文本采用动态值

另外,如果有任何关于为什么使用accessibilityIdentifier的信息确实会有帮助。我找不到明确的解释

self.myHorizontalStackView.isAccessibilityElement = true

//Accessibility for Button
self.submitButton.isAccessibilityElement = true
self.submitButton.accessibilityTraits = UIAccessibilityTraitStaticText
self.submitButton.accessibilityLabel = screenControls.buttonTitle

//Accessibility for Label
self.addressLabel.isAccessibilityElement = true
self.addressLabel.accessibilityTraits = UIAccessibilityTraitStaticText
self.addressLabel.accessibilityLabel = screenControls.address1
Run Code Online (Sandbox Code Playgroud)

accessibility ios swift

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

水平 stackview 中按钮的宽度 - iOS - Storyboard

我在垂直堆栈视图中有两个控件,下面是我的问题

我希望我的控件像这样显示

在此输入图像描述

相反,它显示如下

在此输入图像描述

如何设置按钮标题适合以使按钮的宽度不增加

此外,按钮标题是动态的,因此我无法控制将其设置为常量值

请指教

storyboard ios swift uistackview

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

将日期转换为 GMT 时间 Day Date Month Year Swift

我正在了解如何以“Wed, 08 Apr 2015 21:27:30 GMT”格式获取/转换当前时间为 GMT 时间

目前我正在使用下面的代码进行转换,但这给了我“星期三”而不是“星期三”,“四月”而不是“四月”,最重要的是在当前当地时间。

请建议如何以以下格式获取当前 GMT 时间“Wed, 08 Apr 2015 21:27:30 GMT”

func convertDateToDayDateMonthYear(from inputFormat: String) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = inputFormat
    dateFormatter.locale = Locale(identifier: "en_US_POSIX")

    if let dateInLocal = dateFormatter.date(from: self) {
        dateFormatter.dateFormat = "EEEE, dd MMMM yyyy"
        dateFormatter.locale = Locale.current
        return dateFormatter.string(from: dateInLocal)
    }

    return "NA"
}
Run Code Online (Sandbox Code Playgroud)

date nsdateformatter ios swift

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