在应用程序 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 等其他应用程序中使用剪贴板内容时不会转换为纯文本。非常感谢您的帮助!
我正在 SwiftUI 中制作一个应用程序,文本在 iPhone 上看起来不错,但在 iPad 上太小了,所以我想知道 SwiftUI 中的 minimumFontScale 等价物是什么,以便我可以针对所有屏幕尺寸正确缩放文本。
假设我有一个可选的 Int 数组
var nums: [Int]?
如果不是 nil,我想将结果附加到 nums,否则直接将结果分配给 nums。
像这样的东西:
if nums == nil {
nums = result
} else {
nums?.append(contentsOf: result)
}
Run Code Online (Sandbox Code Playgroud)
有没有更简单或更优雅的方法来做到这一点?
在这段代码中,当迭代位置达到具有 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 数组中有多少个值
将数字“1234.5678”转换String为NSNumber精度 -> 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)
这段代码看起来不太漂亮。有任何想法吗?
我正在尝试将TopScoreContainer的背景颜色更改为更浅的绿色.我不想使用greenColor().这是代码行:
self.TopScoreContainer.backgroundColor = UIColor.greenColor()
Run Code Online (Sandbox Code Playgroud)
是否可以用十六进制数字或RGB值代替greenColor()?谢谢.
我正在按照此处的健康工具包教程进行操作
它使用的是旧版本的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) 如果我有一个数组:
let array = [
["Hamburger", "Nachos", "Lasagne"],
["Tomatoes", "Apples", "Oranges"],
["Soda", "Juice", "Water"]
]
Run Code Online (Sandbox Code Playgroud)
例如“Apples”的索引是什么?有没有办法以编程方式获取它?
给定一个表示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)
但是,我想动态地执行此操作,因为每个数组将代表一些代码点序列。在上面的示例中,输出为#??
我有以下 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]\nRun Code Online (Sandbox Code Playgroud)\n我正在尝试使用 JSONDecoder:
\nstruct 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)