小编Dáv*_*tor的帖子

从 Swift 3 中的周数获取日期

myYearmyWeek琴弦来自API的,我想将它们转换为date字符串如YYYY-MM-DD我怎么能做到这一点在迅速3?我的字符串在下面。

let myYear = "2017"
let myWeek = "8"
Run Code Online (Sandbox Code Playgroud)

string date swift swift3

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

AlamofireObjectMapper 无法推断通用参数“T”

我正在尝试建立一个系统,其中我的所有 api 请求都通过一个函数并将它们映射到相应的对象

func sendApi<T>(url : String , httpMethod : HTTPMethod = .get,
                 parameters: Parameters? = nil,
                 encoding: ParameterEncoding = URLEncoding.default,
                 headers: HTTPHeaders? = nil , callbackSuccess : @escaping (T) -> () , callbackFailure : @escaping (T) -> ()) where T : Mappable {

    Alamofire.request(url, method: httpMethod, parameters: parameters , encoding: encoding, headers: headers).responseObject{(response: (DataResponse<T>))in

            switch response.result {

            case .success :
                let result  = Mapper<T>().map(JSONObject: response.value)!
                callbackSuccess(result)
                break;
            case .failure(let error):
                if((error as NSError).code == ErrorResponse.noInternetConnection){
                    //  errorCallBack(ErrorResponse.noInternetConnectionString)
                }
                // …
Run Code Online (Sandbox Code Playgroud)

generics ios swift alamofire objectmapper

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

Swift switch char{ case "\u{e2}:

let splitLines = line.split(separator: "\u{e2}")

case "\u{e2}":
                print("FoundBadReturn")

let newText = text.replacingOccurrences(of: "\u{e2}", with: "\n")
Run Code Online (Sandbox Code Playgroud)

我正在处理 UITextView 中的 RTF 文档。我正在尝试使用 \n 更改包含 \u{e2} 字符的字符串这些行似乎都不适用于字符串

string uitextview swift

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

当密钥根据用户输入更改时,如何从 json 解码变量?

我正在尝试使用Swift 4解析来自CoinmarketCap 的一些 JSON 响应。JSONDecoder()但问题是来自 json 的响应正在根据用户输入而变化。例如,如果用户想要欧元的价格,输出如下:

[
    {
        "price_eur": "9022.9695444"
    }
]
Run Code Online (Sandbox Code Playgroud)

但如果用户想要以英镑为单位的价格:

[
    {
        "price_gbp": "7906.8032145"
    }
]
Run Code Online (Sandbox Code Playgroud)

所以问题是Decodable如果变量(json键)名称发生变化,我应该如何制作继承自的结构?

json swift swift4 codable jsondecoder

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

带有Swift标头的URLRequest

我对Swift相对较新,我在使用swift原生URLRequest从API中提取一些JSON时遇到了麻烦 - 这是在操场上.我测试了API端点,它在Postman中返回数据就好了

这是我的代码:

//: Playground - noun: a place where people can play
import Foundation
import XCPlayground
import PlaygroundSupport
import UIKit

let urlString = "http://example.test/industry"
let session = URLSession.shared
let url = URL(string: urlString)!
var request = URLRequest(url: url)

request.addValue("application/json", forHTTPHeaderField: "Content-Type")

session.dataTask(with: request, completionHandler: { (data: Data?, response: URLResponse?, error: Error?) in
    if let responseData = response
    {
        do{
            /*let json = try JSONSerialization.jsonObject(with: responseData, options: [])
             print(json)*/
        }catch{
            print("Could not serialize")
        }
    }
})
PlaygroundPage.current.needsIndefiniteExecution = true …
Run Code Online (Sandbox Code Playgroud)

json ios swift

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

Timer.scheduledTimer 未触发

我正在尝试计算车辆在两个检查站之间经过的时间。我已经设置了以下计时器来实现这一点。

func startTimer() {
    if hasStarted == true && timerStarted == false {
        print("Timing started!")
        gameTimer = Timer.scheduledTimer(timeInterval: 0.001, target: self, selector: (#selector(activeTiming)), userInfo: nil, repeats: true)
        timerStarted = true
    }
}

@objc func activeTiming() {
    print("Active timing block")
    if(hasFinished == false) {
        gameTime = gameTime + 0.001
        print("Add time succeeded")
    } else {
        gameTimer?.invalidate()
    }
}
Run Code Online (Sandbox Code Playgroud)

预期输出如下:

Timing started!
Active timing block
Add time succeeded
Add time succeeded ... etc
Run Code Online (Sandbox Code Playgroud)

实际输出:

Timing started!
Run Code Online (Sandbox Code Playgroud)

所以看起来 startTimer 被正确调用,但计时器没有触发 activeTiming 代码块。任何建议都会非常有帮助。提前谢谢你的帮助。

nstimer scenekit swift

2
推荐指数
3
解决办法
3214
查看次数

在 Swift 4 中解码 JSON

我正在研究苹果应用程序开发指南,这是我现在正在使用的代码......

struct CategoryInfo: Codable {
    var category: String
    var description: String
    var logo: String
    var mobileCategoryName: String

    enum Keys: String, CodingKey {
        case category
        case description = "descr"
        case logo
        case mobileCategoryName = "mobileCatName"
    }

    init(from decoder: Decoder) throws {
        let valueContainer = try decoder.container(keyedBy: Keys.self)
        self.category = try valueContainer.decode(String.self, forKey: Keys.category)
        self.description = try valueContainer.decode(String.self, forKey: Keys.description)
        self.logo = try valueContainer.decode(String.self, forKey: Keys.logo)
        self.mobileCategoryName = try valueContainer.decode(String.self, forKey: Keys.mobileCategoryName)
    }
}

override func viewDidLoad() {
    super.viewDidLoad()
    let categories = …
Run Code Online (Sandbox Code Playgroud)

json swift codable

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

view.bounds.size.height -vs-view.bounds.height - 有什么区别?

我注意到在IOS X-Code中使用(Swift 4.0),我至少可以通过以下两种方式询问视图的高度V:

V.bounds.size.height
Run Code Online (Sandbox Code Playgroud)

和...

V.bounds.height
Run Code Online (Sandbox Code Playgroud)

这两者之间有什么实际差异吗?

我做了选项单击的东西(它给出了不同的定义,但没有解释任何实际差异或原因而不是另一个)...和stackoverflow ...但是在stackoverflow上,所有的结果都讨论了它们之间的区别边界框架 ......这不是我要问的.

uiview ios swift

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

“名称”不可用:在 iOS 上不可用 - XCode11

从 XCode 10.0 升级到 11 后

我收到错误“名称”不可用:在 iOS 上不可用

这是在XCode 11.0 和 11.1 上的Build for Swift 4.2期间,我仍然可以使用 XCode 10 进行构建

这发生在我们一直通过 Cocopods 使用的Objective C外部库之一的代码中。

return [(NSNumber *)[table[state] objectForKey:[rule name]] unsignedIntegerValue];
Run Code Online (Sandbox Code Playgroud)

我可以通过将变量名称重命名为ruleName来解决这个问题,但我宁愿不这样做。

为什么 Xcode 反对 name 的变量名?这是一个Xcode,还是我可以在构建设置中修复的东西

编辑

具体的pod是NUI 0.5.5

在模块 NUIPShiftReduceGotoTable.m 中

- (NSUInteger)gotoForState:(NSUInteger)state rule:(NUIPRule *)rule
{
    return [(NSNumber *)[table[state] objectForKey:[rule name]] unsignedIntegerValue];
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios xcode11

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

iOS 14 小部件可用内存

在互联网上搜索我发现在小部件的旧版本中存在以下内存限制:

对用户交互做出适当的响应。表现良好(尤其是 iOS 小部件必须明智地使用内存,否则系统可能会终止它们)。” 小部件的内存限制为 16 MB,因此请保持简单并确保测试您的小部件是否存在内存泄漏

我想了解新版本iOS 14可能使用的内存是否相同或已更改。

我在文档中找不到任何内容。

我想在 中编写一个小部件Swift ui,但首先我想了解是否有任何限制。

谁能给我一些澄清?

ios swift widgetkit swiftui ios14

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