Xcode 升级中一些问题
通知
之前 NSNotification.Name.UITextViewTextDidChange
报错 : 'UITextViewTextDidChange' has been renamed to 'UITextView.textDidChangeNotification'
Xcode fix 之后 NSNotification.Name.UITextView.textDidChangeNotification
报错:Type 'NSNotification.Name' has no member 'UITextView'
最后 UITextView.textDidChangeNotification
open 与 public
'let' properties are implicitly 'final'; use 'public' instead of 'open'
NSAttributedString.Key
之前didSet{
titleLabel.text = titleStringlet sizeNew :CGSize= titleString.size(attributes: [(kCTFontAttributeName as NSAttributedStringKey) as String: titleLabel.font]) //该行报错
// 重新设置frame
titleLabel.frame=CGRect.init(x:20, y:0, width: sizeNew.width, height:self.frame.size.height)
selectImage.frame=CGRect.init(x:titleLabel.frame.maxX+5, y: (self.frame.size.height-20)/2, width:15, height:15)
可fix 错误
'NSAttributedStringKey' has been renamed to 'NSAttributedString.Key'
一路 fix 之后,发现还是报错,并且也不能修改了
报错提示 Cannot convert value of type 'NSAttributedString.Key' to type 'String' in coercion
报错代码 let sizeNew :CGSize= titleString.size(withAttributes: [(kCTFontAttributeName as NSAttributedString.Key as NSAttributedString.Key) as String: titleLabel.font])
最后
let sizeNew : CGSize= titleString.size(withAttributes: [ NSAttributedString.Key.init(kCTFontAttributeName as String) : titleLabel.font])
可以编译通过
照片选择器库有冲突 WCLImagePickerController
冲突之前,
publicfuncimagePickerController(_picker:UIImagePickerController, didFinishPickingMediaWithInfo info: [String:Any]) {
ifletimage = info[UIImagePickerControllerOriginalImage]as?UIImage{
picker.dismiss(animated:true, completion: {
DispatchQueue.main.async {
self.delegate?.wclImagePickerComplete(self, imageArr: [image])
}
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: image)
}, completionHandler: { (flag, error)in
})
})
}
}
冲突之后
publicfuncimagePickerController(_picker:UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey:Any]) {
if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
picker.dismiss(animated:true, completion: {
DispatchQueue.main.async{
self.delegate?.wclImagePickerComplete(self, imageArr: [image])
}
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: image)
}, completionHandler: { (flag, error)in
})
})
}
}
网友评论