小编Jef*_*wan的帖子

文件/文件夹的Xcode模板,不是项目

我试图创建MVVM模板来创建文件(不是项目)。

我想在创建文件时添加组(黄色文件夹),但不能。创建它时,它会创建一个文件夹(蓝色文件夹)。

我该如何实现?

我尝试使用NodeDefinitions但它仍然显示蓝色文件夹。

我的MVVM.xctemplate层次结构是这样的:

-(文件夹)FILEBASENAME FILEBASENAME

---- ___ FILEBASENAME ___ ViewController.swift

--TemplateIcon.png

--TemplateIcon@2x.png

--TemplateInfo.plist

这是我的TemplateInfo.plist档案

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kind</key>
    <string>Xcode.IDEFoundation.TextSubstitutionFileTemplateKind</string>
    <key>Description</key>
    <string>An empty MVVM Swift file.</string>
    <key>Summary</key>
    <string>An empty Swift MVVM file</string>
    <key>AllowedTypes</key>
    <array>
        <string>public.swift-source</string>
    </array>
    <key>DefaultCompletionName</key>
    <string>File</string>
    <key>MainTemplateFile</key>
    <string>___FILEBASENAME___.swift</string>
    <key>Platforms</key>
    <array>
        <string>com.apple.platform.iphoneos</string>
    </array>
    <key>Options</key>
    <array>
        <dict>
            <key>Identifier</key>
            <string>productName</string>
            <key>Required</key>
            <true/>
            <key>Name</key>
            <string>Name:</string>
            <key>Description</key>
            <string>The name of the Navigator, ViewController and ViewModel …
Run Code Online (Sandbox Code Playgroud)

xcode xcode-template

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

序列化包含转义(反斜杠和双引号)的JSON字符串Swift返回格式错误的对象

我有这样的后端响应字符串:

{
    "status": "success",
    "data": "{\"name\":\"asd\",\"address\":\"Street 1st\"}"
}
Run Code Online (Sandbox Code Playgroud)

我认为问题是因为数据字符串中的双引号(“)。当我删除双引号时,序列化成功。但是响应来自后端,因此我必须处理它。

任何人都可以解决这个问题吗?

谢谢。

这是游乐场代码。

import Foundation
var jsonStr = """
{
"status": "success",
"data": "{\"name\":\"asd\",\"address\":\"Street 1st\"}"
}
"""
let data = jsonStr.data(using: .utf8)
if let d = data {
    do {
        let o = try JSONSerialization.jsonObject(with: d)
        print(o)
    } catch let e {
        print(e)
    }
} else {
    print("DATA conversion ERROR")
}
Run Code Online (Sandbox Code Playgroud)

json jsonserializer ios nsjsonserialization swift

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

如何在输出下一个之前对已去抖的 RxSwift 进行单元测试?

我正在使用 RxSwift 进行反应式编程,并想测试我的视图模型。我有这样的去抖动:

在视图模型中:

let personNameMessage = input.personName.debounce(0.5).map { name -> String in
    return "Person Name = \(name)"
}
return Driver.just(personNameMessage)
Run Code Online (Sandbox Code Playgroud)

然后在测试用例中:

let scheduler = TestScheduler(initialClock: 0)
let personNameInput = scheduler.createHotObservable([next(100, "John Doe")])
let personObserver = scheduler.createObserver(String.self)
output.personNameWelcome
    .asObservable()
    .subscribe(personObserver)
    .disposed(disposeBag)

scheduler.start()

print(observer.events)
Run Code Online (Sandbox Code Playgroud)

但它没有发出该事件。我尝试添加scheduler.advanceBy(550)scheduler.start()但结果是一样的。

请帮忙。

谢谢。

reactive-programming ios debouncing rx-swift

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