我正在更新swift 3中的代码.将Range转换为NSRange时出错.如何在swift 3中做到这一点?
func nsRange(_ range : Range<String.Index>) -> NSRange {
let utf16from = String.UTF16View.Index(range.lowerBound, within: utf16)
let utf16to = String.UTF16View.Index(range.upperBound, within: utf16)
return NSRange(location: utf16.startIndex.distanceTo(utf16from), length: utf16from.distanceTo(utf16to))
}
Run Code Online (Sandbox Code Playgroud) 更新我的代码后Swift4,应用程序在iOS 8.3上崩溃.我收到了以下错误
dyld:找不到符号:_NSCharacterEncodingDocumentOption引用自:/private/var/mobile/Containers/Bundle/Application/213D60CD-1ED9-4811-A3C7-B47383557453/development.app/development期望:/ System/Library/Frameworks/UIKit.框架/ UIKit的
var decoded: String {
let encodedData = self.data(using: String.Encoding.utf8)!
let attributedOptions: [NSAttributedString.DocumentReadingOptionKey : Any] =
[
.documentType: NSAttributedString.DocumentType.html ,
.characterEncoding: String.Encoding.utf8.rawValue
]
do {
let attributedString = try NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil)
return attributedString.string
} catch _ {
return self
}
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个接收推送通知的聊天应用.我想提供iOS将用于在推送通知中显示的图像/图标,在哪里可以在Xcode中指定?
我收到以下有关将代码更新为Swift 4的警告
隐式的Objective-C入口点-[development.ASTodayViewController tableView:heightForHeaderInSection:]已过时,并将在Swift 4中删除
如何解决呢?
我有表委托方法
func tableView(_ tableView: UITableView,
heightForHeaderInSection section: Int) -> CGFloat {
return 40.0
}
Run Code Online (Sandbox Code Playgroud) 我有以下协议:
protocol TextViewInputField {
var indexPath: IndexPath? { get set }
var textView: UITextView { get set }
var lblPlaceHolder: UILabel { get set }
func updatePHHiddenState()
}
Run Code Online (Sandbox Code Playgroud)
一个单元TMStyle2Cell实现此协议如下:
class TMStyle2Cell: UITableViewCell,TextViewInputField {
@IBOutlet var lblPlaceHolder: UILabel!
@IBOutlet var textView: UITextView!
@IBOutlet var viewSeperator: UIView!
var indexPath: IndexPath?
func updatePHHiddenState() {
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我收到以下错误?
TMStyle2Cell不确认协议TextVeiwInputField.
如果 case 1 : range1 是 (5,10) 而 range2 是 (8,0) 它应该返回true。情况 2 : range1 是 (5,10) 并且 range2 是 (5,4) 它应该返回true。case 3 如果 range1 是 (5,10) 而 range2 是 (14,20) 它应该返回 true。如何实现一个在所有情况下都返回 true 的函数。我想检查一个范围是否与另一个范围相交或完全在其中。
我有一个观点,其中有很多subview。视图的高度取决于 的高度。subViews但在某种情况下,我希望视图的高度为 0,而不管其subView高度如何。我要实现这一点。例如,有一个名为 view 的视图,它有 2subView(image and label) view1和view2. 约束是这样的。
view1.top = view.top + 1
view1.height = 30
view2.top = view1.bottom
view.bottom = view2.bottom.
Run Code Online (Sandbox Code Playgroud) 我试图使用正则表达式获取标题的值.这个正则表达式有什么问题.比赛即将到来.
let strToCheck = "<title>youtube \n </title>"
let rgx = "<title(.*?)>(.*?)</title>"
let rx = try NSRegularExpression(pattern: rgx, options: [.caseInsensitive])
if let match = rx.firstMatch(in: strToCheck, options: [], range:
NSMakeRange(0, string.characters.count)) {
}
Run Code Online (Sandbox Code Playgroud)