10
import UIKit
import Metal
import QuartzCore
class ViewController: UIViewController {
var device: MTLDevice! = nil
var metalLayer: CAMetalLayer! = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
device = MTLCreateSystemDefaultDevice()
metalLayer = CAMetalLayer() // 1
metalLayer.device = device // 2
metalLayer.pixelFormat = .BGRA8Unorm // 3
metalLayer.framebufferOnly = true // 4
metalLayer.frame = view.layer.frame // 5
view.layer.addSublayer(metalLayer) // 6
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Khi tôi có điều này trong ViewController.swift của tôi, tôi nhận được lỗi "Sử dụng khai báo kiểu CAMetalLayer
" mặc dù tôi đã nhập khẩu kim loại và QuartzCore. Làm cách nào để mã này hoạt động?kim loại iOS cung cấp cho biên dịch lỗi
Tôi chưa biên soạn cho bất kỳ thứ gì. Điều này xuất hiện ngay sau khi tôi nhập nội dung đó vào và chỉ cần đợi – Pocketkid2
Thử chọn thiết bị thay vì trình mô phỏng trong Xcode –
Phản hồi này không trả lời câu hỏi, vì không có câu hỏi, tuy nhiên đó là giải pháp cho vấn đề đã nêu: Trình mô phỏng không thể biên dịch mã kim loại. Nếu bạn chọn một Thiết bị, các lỗi biên dịch sẽ biến mất. –