在我将Swift 1更新为Swift 2.0后,我遇到了一个问题.
我在这段代码的第一行收到以下错误:
方法不能标记为@objc,因为参数的类型不能在Objective-C中表示
@objc func personsToFirstStep(persons: [Person]) {
for person in persons {
if !self.persons.contains(person) && person.id != userID {
self.persons.append(person)
}
}
collectionView.reloadData()
collectionViewPlaceholder.hidden = true
collectionView.hidden = false
collectionGradientView.hidden = false
}
Run Code Online (Sandbox Code Playgroud)
这个Person类:
class Person: Hashable {
var intID: Int = 0
var id: String = ""
var name: String = ""
var type: String = ""
var hashValue: Int {
return self.intID
}
init(id: String, name: String, type: String) {
self.id = id
self.intID = …
Run Code Online (Sandbox Code Playgroud) struct MyRect : CGRect {...}
Run Code Online (Sandbox Code Playgroud)
是否有可能在swift中继承一个Structure?
我已经在Apple官方网站上找到了一个例子:这个例子扩展了CGRect结构以包含计算区域属性:
extension CGRect {
var area: CGFloat {
return width * height
}
}
let rect = CGRect(x: 0.0, y: 0.0, width: 10.0, height: 50.0)
let area = rect.area
Run Code Online (Sandbox Code Playgroud)
我如何定义结构的子类?
“CMSampleBufferGetImageBuffer”已被属性“CMSampleBuffer.imageBuffer”替换
CMSampleBufferGet.ImageBuffer 不起作用:) 似乎 Swift 4.2 的参数也发生了变化。
guard let pixelBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
Run Code Online (Sandbox Code Playgroud)
整个功能。万一 ...
func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
// print("Camera was able to capture a frame:", Date())
guard let pixelBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
guard let model = try? VNCoreMLModel(for: ARS().model) else { return }
let request = VNCoreMLRequest(model: model) { (finishedReq, err) in
guard let results = finishedReq.results as? [VNClassificationObservation] else { return } …
Run Code Online (Sandbox Code Playgroud) Swift 3.0
来自at处有错误 Swift 5.0
代码:
//Create audio file name URL
let audioFilename = getDocumentsDirectory().appendingPathComponent("audioRecording.m4a")
//Create the audio recording, and assign ourselves as the delegate
audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
Run Code Online (Sandbox Code Playgroud)
我认为它应该是这样的:
func getDocumentsDirectory() -> URL
{
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
return documentsDirectory
}
Run Code Online (Sandbox Code Playgroud)
这是对的吗?或不?