Tôi chỉ cần di chuyển dự án của chúng tôi để nhanh chóng 3 và thấy rất nhiều tai nạn vì một vấn đề:Swift 3 lỗi: [_SwiftValue pointSize] selector không được công nhận gửi đến dụ
Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidArgumentException', lý do : '- [_ SwiftValue pointSize]: chọn không được công nhận gửi đến dụ
lý do cho lỗi đó là lời kêu gọi:
[NSAttributedString(NSExtendedStringDrawing) boundingRectWithSize:options:context:]
những gì tôi nhận thấy là nếu tôi đúc string để NSSt và gọi boundingRectWithSize
trên đó, nó sẽ ném lỗi đó. Nó cũng dường như đang xảy ra ở nhiều phần khác, ví dụ nếu tôi đã gửi một tiêu đề bộ điều khiển xem trong bảng phân cảnh, nó sẽ ném cùng một lỗi.
Bất kỳ ai gặp sự cố tương tự?
Để tạo lại vấn đề:
Tạo một dự án mới Swift 3 trong Xcode 8 và thêm dòng sau trong viewDidLoad:
let attributes: [String: AnyObject?] = [
NSFontAttributeName: UIFont.systemFont(ofSize: 14)
]
let boundingRect = ("hello" as NSString).boundingRect(with: CGSize(width: 100, height: 100), options: .usesLineFragmentOrigin, attributes: attributes, context: nil)
Nhưng như tôi đã nói nó bị treo ở nhiều nơi khác như có vẻ như UIKit sử dụng phương pháp này trong nhiều phần
Vui lòng hiển thị mã của bạn gây ra sự cố với các phần có liên quan. – OOPer
Dường như nó liên quan đến việc thực hiện nội bộ của NSString – 3lvis
Tôi nhận được sự cố tương tự nhưng đối với điều này: (textLabel.text! As NSString) .size (thuộc tính: fontAttributes) Tôi đã thử mọi thứ từ việc sử dụng nsmutablestring, phụ thêm dây để nó vv nó vẫn còn treo. Đây là lỗi táo không nghi ngờ gì. Thực sự rất tệ. Không thể di chuyển. – ullstrm