소개
게시글
질문&답변
2019.07.03
혹시 강의하실때 사용하셨던 Xcode 버전을 알 수 있을까요?
어떻게 고쳐야 Run했을때 정상적으로 작동 될까요...?
- 0
- 4
- 216
질문&답변
2019.07.03
혹시 강의하실때 사용하셨던 Xcode 버전을 알 수 있을까요?
몇가지는 fix 눌러서 고쳐서 조금 수정되었을거에요. 지금 에러가 8개 납니다 ㅠㅠ
- 0
- 4
- 216
질문&답변
2019.07.03
혹시 강의하실때 사용하셨던 Xcode 버전을 알 수 있을까요?
앱딜리게이트 // // AppDelegate.swift // MyWebBrowser // // Created by 박단비 on 15/05/2019. // Copyright © 2019 박단비. All rights reserved. // import UIKit /// 마지막 페이지 주소를 UserDefaults에서 관리하기 위한 키 값 let lastPageURLDefaultKey: String = "lastURL" @UIApplicationMain class AppDelegate: UIResponder , UIApplicationDelegate { // MARK: - Properties var window: UIWindow ? var lastPageURL: URL ? // MARK: - Methods func application( _ application: UIApplication , didFinishLaunchingWithOptions launchOptions: [ UIApplication . LaunchOptionsKey : Any ]?) -> Bool { // Override point for customization after application launch. self . lastPageURL = UserDefaults . standard . url (forKey: lastPageURLDefaultKey ) return true } func applicationWillResignActive( _ application: UIApplication ) { let userDefaults: UserDefaults userDefaults = UserDefaults . standard UserDefaults .set( self .lastPageURL, forKey: lastPageURLDefaultKey ) userDefaults. synchronize () } func applicationDidEnterBackground( _ application: UIApplication ) { } func applicationWillEnterForeground( _ application: UIApplication ) { // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. } func applicationDidBecomeActive( _ application: UIApplication ) { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } func applicationWillTerminate( _ application: UIApplication ) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } }
- 0
- 4
- 216
질문&답변
2019.07.03
혹시 강의하실때 사용하셨던 Xcode 버전을 알 수 있을까요?
뷰 컨트롤러 // // ViewController.swift // MyWebBrowser // // Created by 박단비 on 15/05/2019. // Copyright © 2019 박단비. All rights reserved. // import UIKit import WebKit class ViewController: UIViewController { //MARK: - Properties //MARK: IBOutlets @IBOutlet var webView: WKWebView ! @IBOutlet var activityIndicator: UIActivityIndicatorView ! //MARK: - Methods //MARK: Life Cycle override func viewDidLoad() { super . viewDidLoad () // Do any additional setup after loading the view. self . webView . navigationDelegate = self as ? WKNavigationDelegate } override func viewDidAppear( _ animated: Bool ) { super . viewDidAppear (animated) let firstPageURL: URL ? if let lastURL: URL = UserDefaults . standard . url (forKey: lastPageURLDefaultKey ) { firstPageURL = lastURL } else { firstPageURL = URL (string: "https://www.google.com" ) } guard let pageURL: URL = firstPageURL else { return } let urlRequest: URLRequest = URLRequest (url: pageURL) self . webView . load (urlRequest) } // MARK: IBActions @IBAction func goBack( _ sender: UIBarButtonItem ) { self . webView . goBack () } @IBAction func goForward( _ sender: UIBarButtonItem ) { self . webView . goForward () } @IBAction func refresh( _ sender: UIBarButtonItem ) { self . webView . reload () //MARK: Custom Methods func showNetworkingIndicators() { self . activityIndicator . isHidden = false self . activityIndicator . startAnimating () UIApplication . shared . isNetworkActivityIndicatorVisible = true func hideNetworkingIndicators() { self . activityIndicator . isHidden = true self . activityIndicator . stopAnimating () UIApplication . shared . isNetworkActivityIndicatorVisible = false } } extension ViewController : WKNavigationDelegate { // MARK : WKNavigationDelegate func webView( _ webView: WKWebView , didFinish navigation: WKNavigation !) { print ( "did finish navigation" ) if let appDelegate: AppDelegate = UIApplication . shared . delegate as ? AppDelegate { AppDelegate .lastPageURL = webView.url } webView. evaluateJavaScript ( "document.title" ) { (value: Any ?, error: Error ?) in if let error: Error = error { print (error. localizedDescription ) return } guard let title: String = value as ? String else { return } self . navigationItem . title = title } self .hideNetworkingIndicators() } func webView( _ webView, didFail navigation: WKNavigation !, withError error: Error ) { print ( "did fail navigation" ) print ( " \ ( error. localizedDescription )" ) self .hideNetworkingIndicators() let message: String = "오류발생!\n" + error. localizedDescription let alert: UIAlertController alert = UIAlertController (title: "알림" , message, preferredStyle: UIAlertController .alert) let okayaction: UIAlertAction okayaction = UIAlertAction (title: "확인" , style: UIAlertAction . Style . cancel , handler: nil ) alert. addAction (okayaction) self . present (alert, animated: true , completion: nil ) } func webView( _ webView: WKWebView , didStartProvisionalNavigation navigation: WKNavigation !) { print ( "did start navigation" ) self .showNetworkingIndicators() } } } }
- 0
- 4
- 216