swift - 为什么我收到错误 "Type of expression is ambiguous without more context"?

标签 swift

在下面的代码中,我尝试检查某个域名是否与某些搜索文本匹配。搜索文本在变量 searchText 中,但 Xcode 给我一个错误说明:

Type of expression is ambiguous without more context

插入符号指向最后一行 linkRange.location != NSNotFound 的第一个字符。我不知道我做错了什么,错误信息也不是很有帮助

// search domain name
let linkText: NSString = dict["link"]!
let url: NSURL = NSURL(string: linkText as String)!
let domain = url.host
let linkRange = domain!.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)
let foundInLink = linkRange.location != NSNotFound

最佳答案

rangeOfString 返回一个 Range 而不是 NSRange,并且它没有 location 属性.所以你应该在最后一行做一些这样的事情:

let foundInLink = linkRange != nil

关于swift - 为什么我收到错误 "Type of expression is ambiguous without more context"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542967/

相关文章:

Swift:如何从 NSTextField 连续发送一个 Action

swift - 快速自动完成文本字段

ios - SceneKit:如何在没有碰撞的情况下检测接触

iOS 15 : How to display ATT dialog when the app starts in SwiftUI

swift - searchBarController 搜索时不跟随文本,取消不起作用

swift - LargeTitles UIScrollView 不支持多个观察者实现_scrollViewWillEndDraggingWithVelocity :targetContentOffset

swift - 将 NSData 的每个字节转换为等效的 Int 值

arrays - 如何向字典添加新值 [[String : String]]

ios - 发布更新 CKRecord

ios - 在 2 个 VC 之间传输时导航栏背景颜色出现问题