2016-03-07 27 views
5

Khi biên soạn dự án của tôi trong bản Xcode beta mới nhất, tôi nhận được lỗi sau.Lỗi UIFont trong Xcode beta 7.3 (7D162j)?

enter image description here

Các dòng mã gây ra nó là thế này:

let font = UIFont(name: "OpenSans-Semibold", size: 10.0) 

Tôi không chắc chắn làm thế nào để sửa lỗi này.

Bất kỳ ý tưởng nào?

Vì vậy, đây là bối cảnh nhiều hơn:

private lazy var view: UIView = { 
     let view = UIView(frame: CGRectMake(0, 0, 34, 80)) 
     let label = UILabel() 
     label.translatesAutoresizingMaskIntoConstraints = false 
     let font = UIFont(name: "OpenSans-Semibold", size: 10.0) 
     label.font = font 
     return view 
    }() 
+2

Bạn có chắc đó chính là dòng mã không? Bạn có thể hiển thị thêm ngữ cảnh không? – jtbandes

+2

Nếu đó thực sự là dòng, thì có vẻ như 7.3 beta có lỗi. Vui lòng báo cáo RADAR. Có thể thay đổi thành 'let font: UIFont? = UIFont (tên: "OpenSans-Semibold", size: 10.0) 'sẽ giúp ích. –

+0

Tôi nghĩ rằng đó là một lỗi trong Xcode - làm việc xung quanh nó bằng cách thử các dòng tương đương cho đến khi bạn tìm thấy một trong những công trình. –

Trả lời

0

Yep Tôi có vấn đề này cùng quá. Không có gì làm việc cho tôi cho đến khi tôi cố gắng khởi tạo UIFont với UIFontDescriptor. Vì vậy, mã của bạn bây giờ sẽ trông giống như:

private lazy var view: UIView = { 
    let view = UIView(frame: CGRectMake(0, 0, 34, 80)) 
    let label = UILabel() 
    label.translatesAutoresizingMaskIntoConstraints = false 
    let descriptor = UIFontDescriptor(name: "OpenSans-Semibold", size: 10.0) 
    let font = UIFont(descriptor: descriptor, size: 10.0) 
    label.font = font 
    return view 
}() 

Ngoài ra bạn có thể cần để làm sạch & xây dựng lại dự án của bạn sau khi sự thay đổi này, trình biên dịch Xcode không nhận ra sự thay đổi ở đầu tiên.

Các vấn đề liên quan