小编Leo*_*bus的帖子

在 Swift 中以编程方式将富文本转换为纯文本

在应用程序 TextEdit 中,可以通过以下过程转换富文本:格式、制作纯文本。我如何在 Swift 中执行此操作?

我使用 NSPasteboard 框架:

let pasteboard = NSPasteboard.general
Run Code Online (Sandbox Code Playgroud)

...

pasteboard.declareTypes([NSPasteboard.PasteboardType.string], owner: nil)
Run Code Online (Sandbox Code Playgroud)

...

为了检索剪贴板内容:

var clipboardContents = ""
Run Code Online (Sandbox Code Playgroud)

...

clipboardContents = pasteboard.string(forType: .string) ?? "Something went wrong"
Run Code Online (Sandbox Code Playgroud)

最后一条语句在控制台窗口中生成纯文本,但是在 TextExit 等其他应用程序中使用剪贴板内容时不会转换为纯文本。非常感谢您的帮助!

macos xcode rtf nspasteboard swift

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

SwiftUI 的 minimumFontScale 等价物是多少?

我正在 SwiftUI 中制作一个应用程序,文本在 iPhone 上看起来不错,但在 iPad 上太小了,所以我想知道 SwiftUI 中的 minimumFontScale 等价物是什么,以便我可以针对所有屏幕尺寸正确缩放文本。

ios swift ios13 swiftui

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

是否有“如果为零则创建数组,否则追加”的单行版本?

假设我有一个可选的 Int 数组

var nums: [Int]?

如果不是 nil,我想将结果附加到 nums,否则直接将结果分配给 nums。

像这样的东西:

if nums == nil {
   nums = result 
} else {
   nums?.append(contentsOf: result)
}
Run Code Online (Sandbox Code Playgroud)

有没有更简单或更优雅的方法来做到这一点?

swift

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

如何快速解决致命错误:索引超出范围错误?

在这段代码中,当迭代位置达到具有 20 个元素的数组中的 13 时,它会因索引超出范围错误而崩溃。

let counterHeaders = headers.count
for value in 0..<(counterHeaders){
    if headers[value] == "" {
        headers.remove(at: value)
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:创建 counterHeaders 变量是为了检查 headers 数组中有多少个值

arrays for-loop swift

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

Swift 中具有有限精度小数位的字符串数字

将数字“1234.5678”转换StringNSNumber精度 -> 1234.56 并返回String“1234.56”的最快方法是什么。

let numberFormatter = NumberFormatter()
numberFormatter.maximumFractionDigits = 2
numberFormatter.string(from: numberFormatter.number(from: "1234.534234")!)
Run Code Online (Sandbox Code Playgroud)

这段代码看起来不太漂亮。有任何想法吗?

string precision nsnumberformatter swift

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

如何选择十六进制格式或RGB格式的颜色,而不是使用Swift中给出的颜色

我正在尝试将TopScoreContainer的背景颜色更改为更浅的绿色.我不想使用greenColor().这是代码行:

self.TopScoreContainer.backgroundColor = UIColor.greenColor()    
Run Code Online (Sandbox Code Playgroud)

是否可以用十六进制数字或RGB值代替greenColor()?谢谢.

rgb xcode uicolor ios swift

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

Swift 2.2 HealthKit - 调用可以抛出,但它没有标记为'try'并且没有处理错误

我正在按照此处的健康工具包教程进行操作

它使用的是旧版本的Swift(1.2),我正在尝试将其转换为最新版本(撰写本文时为Swift 2.2)

错误表明我需要进行do, catch, and try处理但是,它仍然会抛出相同的错误Call can throw, but it is not marked with 'try' and the error not handled

我在下面添加了我的尝试.使用Swift 2.2,我还需要使用最新的检查错误if error != nil吗?或者现在在处理中do, catch, try处理?

var error:NSError?
var age:Int?

// 1. Request birthday and calculate age
if let birthDay = healthKitStore.dateOfBirth()
{
  do {
    let today = NSDate()
    let calendar = NSCalendar.currentCalendar()
    let differenceComponents = NSCalendar.currentCalendar().components(.CalendarUnitYear, fromDate: birthDay, toDate: today, options: NSCalendarOptions(0) )

    try! age = differenceComponents.year …
Run Code Online (Sandbox Code Playgroud)

ios swift healthkit swift2.2

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

如何获取二维数组中某个项目的索引?

如果我有一个数组:

let array = [
        ["Hamburger", "Nachos", "Lasagne"],
        ["Tomatoes", "Apples", "Oranges"],
        ["Soda", "Juice", "Water"]
    ]    
Run Code Online (Sandbox Code Playgroud)

例如“Apples”的索引是什么?有没有办法以编程方式获取它?

arrays swift

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

将Unicode代码点数组转换为字符串

给定一个表示unicode代码点的字符串数组:

let arr : [String] = ["0023", "FE0F", "20E3"]
Run Code Online (Sandbox Code Playgroud)

如何将其动态转换为快捷字符串?静态地,我发现我可以写:

let str = "\u{0023}\u{FE0F}\u{20E3}"
Run Code Online (Sandbox Code Playgroud)

但是,我想动态地执行此操作,因为每个数组将代表一些代码点序列。在上面的示例中,输出为#??

arrays string unicode swift

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

通过 Codable 将 JSON 解析为数组

我有以下 JSON:

\n
[\n{\n "id": 1,\n "type": "Feature",\n "geometry": {\n     "type": "Point",\n     "coordinates": [\n         37.5741167,\n         55.7636592\n     ]\n },\n "properties": {\n     "hintContent": "\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd1\x83\xd0\xbb\xd0\xbe\xd0\xba \xd0\x92\xd0\xbe\xd0\xbb\xd0\xba\xd0\xbe\xd0\xb2, 13\xd1\x811",\n     "balloonContentHeader": "\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd1\x83\xd0\xbb\xd0\xbe\xd0\xba \xd0\x92\xd0\xbe\xd0\xbb\xd0\xba\xd0\xbe\xd0\xb2, 13\xd1\x811"\n }\n]\n
Run Code Online (Sandbox Code Playgroud)\n

我正在尝试使用 JSONDecoder:

\n
struct Point : Codable {\n    let id: Int\n    let type: String\n    let properties: Properties\n}\nstruct Properties : Codable {\n    let hintContent: String\n    let balloonContentHeader: String\n}\nstruct Points : Codable {\n    var data : [Point]\n}\n\n\n\nfunc parse(fileName: String) {\n\n    let url = Bundle.main.url(forResource: fileName, withExtension: "json")\n    let data = try? Data(contentsOf: …
Run Code Online (Sandbox Code Playgroud)

json swift codable

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