searchBar
之上有一个webView
,因此用户可以输入新的互联网地址。我发现当http
更改为Http
时,它不再起作用。如何为网址设置case insensitive
?谢谢!
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
searchBar.resignFirstResponder()
if searchBar.text != nil {
let address = searchBar.text!
if address.containsString("http://") || address.containsString("https://") {
let str = address
if let newUrl = NSURL(string: str) {
let newRequest = NSURLRequest(URL: newUrl)
myWebView.loadRequest(newRequest)
}
} else {
let str = "http://" + String(address)
if let newUrl = NSURL(string: str) {
let newRequest = NSURLRequest(URL: newUrl)
myWebView.loadRequest(newRequest)
}
}
}
}
答案 0 :(得分:0)
参考:
Here is a link to another stack overflow talking about uppercase and lowercase strings.
您应该能够通过执行以下操作将整个字符串设置为小写:
Private cancelSource As CancellationTokenSource
Sub StartWork
cancelSource = New CancellationTokenSource
Dim uiSyncContext = Tasks.TaskScheduler.FromCurrentSynchronizationContext
Dim task = New Tasks.Task(Of Double())(Function() GenSin(3.4, 1.2, 100.0, 1000.0, cancelSource.Token))
task.ContinueWith(Sub(dt) WriteData(dt.result),
cancelToken,
Tasks.TaskContinuationOptions.OnlyOnRanToCompletion,
uiSyncContext)
End Sub
Function GenSin(freq As Double, amp As Double, rate As Double, spb As Double, cancelToken As CancellationToken) As Double()
Dim dt As Double
Dim isamp As Integer
dt = 1 / rate
isamp = CInt(spb) - 1
Dim y(isamp - 1) As Double
For i As Integer = 0 To isamp - 1
If cancelToken.IsCancellationRequested Then Return Nothing
y(i) = amp * Math.Sin(2 * Math.PI * freq * i * dt)
Next
Return y
End Function
Sub WriteData(results As Double())
' This is where you output the data
End Sub
那应该将地址字符串转换为全部小写。 您可能还需要考虑更改要禁用的搜索栏的大小写。
另一个解决方案可能是检查address.contains(“Http://”)
最佳, 乔