因此,我剛剛完成了我的第一個應用程序,使用swift 1.2構建,併爲ios 8製作。它上週成功地到達了應用商店,但現在是時候更新代碼ios 9和swift 2.swift 2轉換幫助 - 89問題
以前的應用程序工作完美,沒有問題,沒有崩潰,但在xcode 7中打開完全相同的項目會引發89個問題。我已經經歷了xcode會自動將其轉換爲我的過程,但仍然存在問題。我已經達到了所有構建問題都消失的程度,但該應用程序無法運行。我甚至無法通過點擊輸入字段來輸入用戶名和密碼,甚至不會註冊我的觸摸並讓我的類型通過我的登錄屏幕。
從花費大量時間製作一個功能正常的應用程序,但現在完全無法工作,這是非常令人沮喪的。
有沒有人有我的工作方式,雖然這個好的建議,讓我的應用程序回到它再次工作,但爲ios9和swift 2?我應該讓Xcode爲我轉換它並在那裏工作嗎?我應該改變自己嗎?任何幫助都會很棒,因爲我仍然對這一切都很陌生。就在我認爲我正在研究其中的一部分時,這一切都發生了變化,並且發生了斷裂。
一些示例錯誤我得到如果這能幫助:
- 很多問題有關不展開選項。我可以解決我認爲的問題。
- 這告訴我「Downlocation from'CLLocation?'?到'CLLocation'只解開可選項;你的意思是使用'!'?「不知道在這裏做什麼。
let locationUpdated = locations.last as! CLLocation
-variable currentUser被寫入,但從來沒有讀過
var currentUser = PFUser.currentUser()
永恆價值 'activeFieldPresent' 從未使用;考慮用'_'替換或刪除它。用其他不可變的值獲得這個錯誤很多。這是什麼意思,我該如何解決?這是爲什麼我的水龍頭類型不工作?
func keyboardWasShown(notification: NSNotification) { //Need to calculate keyboard exact size due to Apple suggestions self.scrollView.scrollEnabled = true let info : NSDictionary = notification.userInfo! let keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue().size let contentInsets : UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardSize!.height, 0.0) self.scrollView.contentInset = contentInsets self.scrollView.scrollIndicatorInsets = contentInsets var aRect : CGRect = self.view.frame aRect.size.height -= keyboardSize!.height if let activeFieldPresent = activeField // Heres where the error shows { if (!CGRectContainsPoint(aRect, activeField!.frame.origin)) { self.scrollView.scrollRectToVisible(activeField!.frame, animated: true) } }
}
謝謝。另一個問題是,我第一次在我的設備上構建了應用程序的新版本,並且在字段中輸入文本對設備非常有用,但不是在模擬器中。所以也許這只是模擬器中的一個錯誤,希望不是我的代碼有問題? – Bcavanaugh934
我似乎沒有任何問題在我的應用程序模擬器中輸入文字。一般而言,我傾向於將這些事情視爲代碼中的錯誤(並不是說從來沒有SDK問題)。 –