我有一段代碼,以前在Xcode 6工作,但不是現在在Xcode 7.不工作我有它的照片這裏errorsSWIFT代碼在Xcode 7(setCategory,AVFormatIDKey,AVAudioRecorder)
我關於「無法賦值」,「無法調用 初始值設定項」,「無法調用Setcategory」3個錯誤,我得到3錯誤此外,這裏是代碼,任何想法我做錯了什麼?
最佳,
import UIKit
import AVFoundation
class RecordViewController: UIViewController {
required init?(coder aDecoder: NSCoder) {
var baseString : String = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as String
self.audioURL = "sound.m4a"
var pathComponents = [baseString, self.audioURL]
var audioNSURL = NSURL.fileURLWithPathComponents(pathComponents)
var session = AVAudioSession.sharedInstance()
session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil)
var recordSettings: [NSObject : AnyObject] = Dictionary()
recordSettings[AVFormatIDKey] = kAudioFormatMPEG4AAC
recordSettings[AVSampleRateKey] = 44100.0
recordSettings[AVNumberOfChannelsKey] = 2
self.audioRecorder = AVAudioRecorder(URL: audioNSURL, settings: recordSettings, error: nil)
self.audioRecorder.meteringEnabled = true
self.audioRecorder.prepareToRecord()
super.init(coder: aDecoder)
}
@IBOutlet weak var recordButton: UIButton!
@IBOutlet weak var playButton: UIButton!
@IBOutlet weak var saveButton: UIBarButtonItem!
var audioRecorder : AVAudioRecorder
var audioURL = ""
override func viewDidLoad() {
super.viewDidLoad()
self.playButton.enabled = false
self.saveButton.enabled = false
// Do any additional setup after loading the view.
}
@IBAction func cancelTapped(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
@IBAction func saveTapped(sender: AnyObject) {
}
@IBAction func recordTapped(sender: AnyObject) {
self.playButton.enabled = true
}
@IBAction func playTapped(sender: AnyObject) {
}
}
非常感謝您的答覆阿比納夫。我按照你的建議跟蹤,前兩個錯誤消失了。對於第三個,我仍然得到「無法調用初始化程序...」 – NewbieWantsToMaster
請你附上錯誤的截圖。對我來說,當我回應時,一切看起來都很好。 – Abhinav
非常感謝Abhinav。感謝Abhinav,這個問題解決了。此外,對於第三個錯誤,我錯誤地沒有完全遵循Abhinav答案,並且我有「var recordSettings:[NSObject:AnyObject] = Dictionary()」而不是「var recordSettings:[String:AnyObject] = Dictionary()」。在改變了Abhinav之前的建議之後,代碼開始再次運行。我衷心感謝你。 – NewbieWantsToMaster