小编Cue*_*Cue的帖子

如何在Swift中实现ROT13功能?

我想创建一个接收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)

string xcode rot13 swift

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

如何设置 NSTextView 的默认字体?

我正在使用禁用“富文本”选项的文本视图来显示一些纯文本。我找不到设置默认字体的方法。如果我在 IB 中输入一些文本(无论如何我都不想要),我可以在 IB 界面中设置字体,但是当用户删除字体并开始键入时,文本会更改为不同的字体和大小。我在这里阅读了一些问题和答案以及开发人员文档,但没有找到解决方案。

nstextview swift

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

如何在Swift中为NSTextView设置第一响应者?

编辑:在macOS项目中

我有一个简单的ViewController,它在状态项菜单应用程序上显示为弹出框。

我使用NSTableView更改视图文本的文本,具体取决于单击的项目。我使用的代码与此类似:

mainTextField.insertText(newStr, replacementRange: theRange)
Run Code Online (Sandbox Code Playgroud)

(我使用insertText的目的是将更改记录在撤消管理器中)

然后我突出显示文本:

// create the new NSRange
let range = NSRange(location: startRange, length: newStrLength)

// select the range in field
mainTextField.selectedRange = range
Run Code Online (Sandbox Code Playgroud)

所有操作均正常,但突出显示了文本,但使用了浅灰色而不是通常的天蓝色,表明该控件不是第一响应者。当我单击该字段时,选择消失。

实际上,我希望NSTextView成为第一响应者,因此我可以直接复制所选文本。

编辑:如果我按键盘上的Tab键,我将使textView成为第一响应者(灰色选择变为标准的天蓝色)。

xcode nstextview swift macos-sierra

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

在macOS中设置'foregroundColor'时出错

在使用Swift 3.2的macOS项目中,我正在尝试设置UITextView的前景色.

let placeHolderTitleString: NSAttributedString = NSAttributedString(string: "Enter text here", attributes: [NSAttributedStringKey.foregroundColor : NSColor.gray]) // error
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

类型'NSAttributedStringKey'(又名'NSString')没有成员'foregroundColor'

相同的代码在Swift 4.0项目中工作正常.

我试图根据我发现的iOS Swift 4转换错误的一些答案修改代码- NSAttributedStringKey:任何但我继续得到错误.有没有办法解决这个问题,而无需将项目更新到Swift 4?

macos nsattributedstring swift nsattributedstringkey

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

如何使用AppleScript获取已安装语音的列表?

如何使用AppleScript获取已安装语音的列表?我看到前段时间使用了:"告诉应用程序声音"或查看目录"/ System/Library/Speech/Voices /"中的文件,但似乎这些方法不再起作用了.

applescript text-to-speech

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

如何随机化Swift中字符串中的字母大小写?

给定一个字符串,我想将每个字母的大小写改为大小写之间的随机字母.

例如:

let myString = "Have a nice day!"
let newString = "haVe A NiCe dAY!"
Run Code Online (Sandbox Code Playgroud)

string swift

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

如何在Swift中对字符串的行进行排序?

我有一个textView,我在其中输入文本,我想以编程方式对行进行排序(此处用作由换行符分隔的文本块).例如:

Bravo
27
Charlie
Zulu
delta
012
Alfa
bravo
Delta
Run Code Online (Sandbox Code Playgroud)

我正在尝试将tex转换为数组,然后对数组进行排序,然后将数组连接到一个新字符串中.不幸的是,我得到了意想不到的结果,例如大写字母的单词在列表的开头分组,小写的单词在末尾列出.

这是我正在使用的代码:

let newStr = (the field) // pseudocode

let strArray : [String] = newStr.componentsSeparatedByString("\n")
let newArray = strArray.sort { $0 < $1 }
newStr = newArray.joinWithSeparator("\n")

(the field) = newStr // pseudocode
Run Code Online (Sandbox Code Playgroud)

编辑:我想得到的结果,是考虑到本地设置的排序列表.在我的例子中,例如,将是:

012
27
Alfa
bravo
Bravo
Charlie
delta
Delta
Zulu
Run Code Online (Sandbox Code Playgroud)

arrays sorting string swift

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

如何从 Swift 中的 NSTextView 获取选定的字符串?

如何从 Swift 中的 NSTextView 获取选定的字符串?

// create a range of selected text
let range = mainTextField.selectedRange()

// this works but I need a plain string not an attributed string
let str = mainTextField.textStorage?.attributedSubstring(from: range)
Run Code Online (Sandbox Code Playgroud)

也许我必须添加一个中间步骤,获取完整的字符串,然后对其应用范围?

xcode cocoa nstextview swift macos-sierra

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

如何在“tableViewSelectionDidChange:”中的 Swift 中学习,其中 NSTableView 的选择确实发生了变化?

我有一个 macOS 项目,其中有两个 tableView 与委托具有相同的 viewControl。我怎样才能知道在 tableViewSelectionDidChange: 上调用了这两者中的哪一个?

编辑:我tableViewSelectionDidChange:用来防止我用作一种“标题组”的某些项目被点击。

我读了这个问题NSTableViewDelegate with 2 tables and tableViewSelectionDidChange:(NSNotification *)aNotification但作为初学者,我不知道如何在 Swift 中做到这一点。

我试过

func tableViewSelectionDidChange(_ notification: Notification) {

    let tableViewName = (notification.object? as AnyObject).identifier // error

    if tableViewName == myTableView1 {
        print("myTableView1")
    }

}
Run Code Online (Sandbox Code Playgroud)

但我收到“标识符的模糊使用”错误。有人这么好心告诉我我做错了什么吗?一个工作示例将不胜感激。

cocoa nstableview swift

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

如何在 Swift 中以编程方式更改 tvOS 的背景颜色?

我想以编程方式更改主视图中的背景颜色(我正在使用 Swift 创建一个应用程序)。我尝试将此代码放入 viewDidLoad() 但它不起作用。这样做的正确方法是什么?

override func viewDidLoad() {
  super.viewDidLoad()
   ...
   let myBackground = UIView()
   let colorWhite = UIColor(red: 255, green: 255, blue: 255, alpha: 1)
   myBackground.backgroundColor = colorWhite
   ...
  }
}
Run Code Online (Sandbox Code Playgroud)

user-interface background swift tvos

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

如何计算Swift中排除新行的字符?

我想算一下Swift中的字符数.我正在使用此代码

let charsNumber = str.characters.count
Run Code Online (Sandbox Code Playgroud)

它返回字符数和返回值.有没有办法可以算出没有回报的角色?

string count swift

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