编辑:已经存在类似于此问题的问题,但它是由特定字符分隔的数字(对于平均计算器,获取快速的单词).相反,这个问题是要获得文本中真实单词的数量,以各种方式分隔:换行符,一些换行符,一个空格,一个空格等.
我想用Swift 3获取字符串中的单词数.
我正在使用这段代码,但我得到的结果不精确,因为数字是计算空格和新行而不是有效字数.
let str = "Architects and city planners,are \ndesigning buildings to create a better quality of life in our urban areas."
// 18 words, 21 spaces, 2 lines
let components = str.components(separatedBy: .whitespacesAndNewlines)
let a = components.count
print(a)
// 23 instead of 18
Run Code Online (Sandbox Code Playgroud) 我的应用程序显示为状态栏应用程序(在Info.plist中"应用程序是代理(UIElement)= YES").
我在Interface Builder中添加了一个TouchBar,并在其上添加了一些Touch Bar Buttons项目.问题是自定义触摸栏没有显示.
为了使自定义触摸条显示我需要将主WindowController窗口设置为Is Initial Controller,不幸的是,通过这样做,应用程序还会播放一个单独的窗口,其内容与菜单项的弹出窗口相同.
有没有办法为状态栏macOS应用程序实现自定义触摸栏?
应用程序的产品名称是应用程序的名称,因为它将显示给客户,并且您在启动新项目时在Xcode助手中选择它,但如果您想要更改它,该怎么办?
这似乎是一个微不足道的问题,但我尝试搜索,我发现像这样的旧答案在应用程序中更改Cocoa显示名称?(七年前)或者这个如何在构建设置中更改Mac应用程序的名称?假设你有一个MainMenu.xib文件,或者引用iPhone的答案,例如这个答案(九年前)如何更改iOS应用程序的名称?或者这个Apple的iOS技术说明.
因为许多事情可能在七年或更长时间内在Xcode中发生了变化,并且macOS与iOS不同,我害怕制造一些麻烦,或者更改某些部分中出现的名称,但在其他地方忘记旧名称.
更改用户在Mac应用中看到的名称的正确方法是什么?
我想在UITextView中突出显示部分文本,例如Pages for iOS或Safari for iOS.我搜索文档,但我找不到办法,也许是因为我是iOS开发的初学者,我想念一些关键信息.有人可以帮帮我吗?
适用于iOS的Pages屏幕截图:
Safari for iOS的屏幕截图:
我是tvOS的新手.我想要一个按下的标准按钮,它将焦点移动到另一个标准按钮,我该怎么做(如果可能的话)?
编辑:我的问题不是很清楚,现在我对其进行了编辑,以明确我需要打开在线网页而不是帮助手册。
\n\n我想在 macOS 项目的 NSAlert 中包含一个问号按钮,该按钮指向带有帮助资源的在线网页。
\n\n我在这里看到有两种可能性:
\n\n\n\n\nvar showHelp: Bool 指定警报是否有帮助按钮。
\n\nvar helpAnchor:字符串?Alert\xe2\x80\x99s HTML 帮助锚点。
\n
但我不知道如何实现它。
\n\n我使用这段代码:
\n\n@IBAction func buttonPressed(_ sender: Any) {\n let myAlert: NSAlert = NSAlert()\n\n myAlert.messageText = "Message"\n myAlert.informativeText = "Informative text."\n\n myAlert.showsSuppressionButton = true\n\n myAlert.addButton(withTitle: "Later")\n myAlert.addButton(withTitle: "Now")\n myAlert.addButton(withTitle: "OK")\n\n let choice = myAlert.runModal()\n\n switch choice {\n case NSAlertFirstButtonReturn:\n print ("OK")\n case NSAlertSecondButtonReturn:\n print ("Now")\n case NSAlertThirdButtonReturn:\n print ("Later")\n default: break\n\n }\n if myAlert.suppressionButton!.state == …
Run Code Online (Sandbox Code Playgroud) 我想生成一个给定字符串的单词列表,其中每个列出的单词至少包含一个大写字母.
有这样一个字符串:
let str: String = "Apple watchOS 3 USA release date and feature rumours."
Run Code Online (Sandbox Code Playgroud)
我想得到一个像这样的数组:
var list: [String] = ["Apple", "watchOS", "USA"]
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?
我正在寻找一种方法来用Swift字符串中的描述替换表情符号字符.
例:
输入
"This is my string "
我想替换以获取:
产量
"This is my string {SMILING FACE WITH OPEN MOUTH AND SMILING EYES}"
到目前为止,我正在使用MartinR对此答案的原始代码修改的代码,但只有在我处理单个字符时它才有效.
let myCharacter : Character = ""
let cfstr = NSMutableString(string: String(myCharacter)) as CFMutableString
var range = CFRangeMake(0, CFStringGetLength(cfstr))
CFStringTransform(cfstr, &range, kCFStringTransformToUnicodeName, Bool(0))
var newStr = "\(cfstr)"
// removing "\N" from the result: \N{SMILING FACE WITH OPEN MOUTH AND SMILING EYES}
newStr = newStr.stringByReplacingOccurrencesOfString("\\N", withString:"")
print("\(newStr)") // {SMILING FACE WITH OPEN MOUTH AND SMILING EYES}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我使用此代码让用户可以选择指定名称和在磁盘上保存纯文本文件的位置。一切似乎都有效,但保存的文件没有任何扩展名。实际上我没有在代码的任何部分指定扩展名,我阅读了 NSSavePanel 文档而没有注意到解释这个选项的部分。
这是我正在使用的代码:
let textToExport = mainTextField.textStorage?.string
if textToExport != "" {
let mySave = NSSavePanel()
mySave.begin { (result) -> Void in
if result == NSFileHandlingPanelOKButton {
let filename = mySave.url
do {
try textToExport?.write(to: filename!, atomically: true, encoding: String.Encoding.utf8)
} catch {
// failed to write file (bad permissions, bad filename etc.)
}
} else {
NSBeep()
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想创建一个接收String并返回一个String的函数,并在字母表中用字母后面的字母替换一个字母13个字母(ROT13).我发现了很多例子,遗憾的是由于各种错误,我无法让它工作.例如这一个:
var key = [String:String]() // EDITED
let uppercase = Array(arrayLiteral: "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
let lowercase = Array(arrayLiteral: "abcdefghijklmnopqrstuvwxyz")
for i in 0 ..< 26 {
key[uppercase[i]] = uppercase[(i + 13) % 26]
key[lowercase[i]] = lowercase[(i + 13) % 26]
}
func rot13(s: String) -> String {
return String(map(s, { key[$0] ?? $0 }))
}
Run Code Online (Sandbox Code Playgroud) swift ×6
string ×4
xcode ×3
macos ×2
macos-sierra ×2
menu ×2
apple-tv ×1
count ×1
emoji ×1
focus ×1
ios ×1
nsalert ×1
nssavepanel ×1
nstouchbar ×1
rot13 ×1
tvos ×1
uitextview ×1