Я только что загрузил Xcode 7 и запустил приложение через 1.0-2.0 migrator и получил пять ошибок, два с калькулятором, два с переключателем iPhone LED и один в mail в моем приложении.Ошибки Xcode 7 с .toInt, iPhone LED и почтовый композитор
Для caluclator, я получил ошибки для .toInt, говоря «toInt недоступен, используйте Int() инициализатору. Я пометил линии с черточками.
@IBAction func launchEmail(sender: AnyObject) {
@IBOutlet weak var Screen: UILabel!
var firstNumber = Int()
var secondNumber = Int()
var isTypingNumber = false
var result = Int()
var operation = ""
@IBAction func number(sender: AnyObject) {
let number = sender.currentTitle
if isTypingNumber == true {
Screen.text = Screen.text! + number!!
} else {
Screen.text = number;
}
isTypingNumber = true
}
@IBAction func operation(sender: AnyObject) {
isTypingNumber = false
---- firstNumber = Screen.text!.toInt()!----------
operation = sender.currentTitle!!
}
@IBAction func equals(sender: AnyObject) {
---- secondNumber = Screen.text!.toInt()! ----------
if operation == "+" {
result = firstNumber + secondNumber
} else if operation == "-" {
result = firstNumber - secondNumber
} else if operation == "X" {
result = firstNumber * secondNumber
} else {
result = firstNumber/secondNumber
}
Screen.text = "\(result)"
}
@IBAction func clear(sender: AnyObject) {
firstNumber = 0
secondNumber = 0
isTypingNumber = false
result = 0
Screen.text = "\(result)"
}
Для телефоны LED, У меня было две ошибки: одна из них (в первой строке с тире) говорила: «Невозможно вызвать« LockForConfiguration »с типом аргумента (nil). На второй (пунктирная линия) он сказал: «„ошибка“дополнительный аргумент в вызове»
@IBAction func toggleFlash(sender: AnyObject) {
if let device = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) where device.hasTorch {
---- device.lockForConfiguration(nil) -------
if (device.torchMode == AVCaptureTorchMode.On) {
device.torchMode = AVCaptureTorchMode.Off
} else {
---- device.setTorchModeOnWithLevel(1.0, error: nil) -------
}
device.unlockForConfiguration()
}
}
Наконец для почты композитора, На пунктирной линии, я получил ошибку упомянутый «„MFMailComposerResult“делает не имеет члена с именем 'value'. " @IBAction функ launchEmail (отправитель: AnyObject) {
if (MFMailComposeViewController.canSendMail()) {
let emailTitle = "Utilibox Feedback"
let messageBody = "I am experiencing the following issues:"
let toRecipents = ["[email protected]"]
let mc:MFMailComposeViewController = MFMailComposeViewController()
mc.mailComposeDelegate = self
mc.setSubject(emailTitle)
mc.setMessageBody(messageBody, isHTML: false)
mc.setToRecipients(toRecipents)
self.presentViewController(mc, animated: true, completion: nil)
} else {
print("No email account found.")
}
}
func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
switch result.value {
case MFMailComposeResultCancelled.value:
print("Cancelled")
case MFMailComposeResultSaved.value:
print("Saved")
case MFMailComposeResultSent.value:
print("Sent")
case MFMailComposeResultFailed.value:
print("Failed")
default:
break
}
self.dismissViewControllerAnimated(true, completion: nil)
}
Что точные вещи я должен изменить их, чтобы заставить их работать. Я ценю всю помощь. СПАСИБО ТАК ТАК :) :)
Измененное целочисленное преобразование и измененная обработка ошибок (с использованием исключений) документируются в примечаниях к бета-версии Xcode 7. Ваш первый вопрос - это дубликат http://stackoverflow.com/questions/30739460/toint-removed-in-swift-2. (И не является ли сообщение компилятора «toInt недоступно, используйте инициализатор Int()», достаточный для решения Google?). Как правило, ваш вопрос слишком широк, поскольку он содержит 3 разные проблемы. –
Вы забыли пунктирные линии в последнем примере. – Qbyte
Чтобы выразить признательность за помощь, вы должны принять ответ Qbyte. – Jeff