0
クリップボードからテキストを取得したいとします。私は動作しているようだが、クラッシュすることがあるようなコードを書いている。たとえば、ゲストユーザとしてログインしたときにアプリを使用しようとすると、クラッシュすることがある。 Pasterboardにテキストが含まれていない可能性があります。macOSでペーストボードからテキストを取得しようとするとエラーが発生する
これは私が使用しているコードですが、条件文で最後の行を折り返したいと思いますが、その時点でエラーが発生するため、実行が遅すぎるようです。
func pasteOverAction() {
// create a pasteboard instance
let pasteboard = NSPasteboard.general()
// create an array for put pasteboard content
var clipboardItems: [String] = []
// iterate elements in pasteboard
for element in pasteboard.pasteboardItems! {
// if it's text
if let str = element.string(forType: "public.utf8-plain-text") {
clipboardItems.append(str) // put in the array
}
}
// put the first element of the array in a constant
// sometimes crashes here
let firstStringOfClipboard = clipboardItems[0]
}
問題は '.pasteboardItems!'です。オプションを強制的に展開しないでください。代わりに、このプロパティの可能性をゼロにしてください。 – Moritz
UTIタイプは '' public.plain-text ''でなければなりません –