你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> iOS單例模式應用案例

iOS單例模式應用案例

編輯:IOS技巧綜合
[摘要]本文是對iOS單例模式應用案例的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

  在Cocoa Touch框架中,有UIApplication、UIAccelerimeter、NSUserDefaults和NSNotificationCenter等單例類。另外,NSFileManager和NSBundle類雖然屬於Cocoa框架的內容,但也可以在Cocoa Touch框架中使用(Cocoa框架中的單例類有NSFileManager、NSBundle、NSWorkspace和NSApplication等)。

  1.UIApplication

  UIApplication類的實例提供了應用程序的集中控制點來保持應用的狀態。UIApplication實例總是分配給應用程序委托對象(UIApplicationDelegate),通過應用程序委托對象來響應低內存、應用啟動、後台運行和應用終止等事件。

  UIApplication類有很多方法和屬性,下面重點介紹其中幾個。

  · + sharedApplication方法。創建和獲得UIApplication實例的方法。

  · idleTimerDisabled屬性。設定和獲得“空閒時間禁止”的狀態。idleTimeDisabled屬性的默認值是NO,即默認情況下系統會鎖定屏幕。當idleTimerDisabled=YES時,則不會開啟“空閒時間禁止”狀態,系統不會鎖定屏幕。開啟這項設定需要謹慎,它會使你的應用比較耗電。

  · - openURL:方法。可以打開一些內置的iOS應用,其中包括打開浏覽器、打開Google地圖呀、撥打電話、發送短信和發送E-mail等。

  2.UIAccelerometer

  單例類UIAccelerometer前面也講過,它可以訪問重力加速計硬件設備,實時獲得設備在x軸、y軸和z軸方向上的重力加速度。

  + sharedAccelerometer方法是創建和獲得UIAccelerometer實例的共享方法。

  與UIApplication類似,UIAccelerometer也有對應的委托對象,其委托對象為UIAccelerometerDelegate。UIAccelerometer將實例分配給委托對象UIAccelerometerDelegate,然後由委托對象響應重力加速計事件。

  3.NSUserDefaults

  單例類NSUserDfaults可以很方便的讀取應用設置項目。

  + standardUserDefaults方法是創建和獲得NSUserDefaults實例的靜態方法。

  4.NSNotificationCenter

  單例類NSNotificationCenter提供信息廣播通知,它采用觀察者模式的通知機制。

  + defaultCenter方法是創建和獲得NSNotificationCenter實例的共享方法。

  5.NSFileManager

  NSFileManager提供了訪問文件系統的通用操作,可以定位、創建、復制文件和文件夾。在iOS 5和Mac OS X v10.7之後,它還可以管理存儲在iCloud上的數據。

  + defaultManager方法是創建和獲得NSFileManager實例的方法。除了該方法外,創建NSFileManager對象時還可以使用實例構造方法- init。這兩種方法有著比較大的差別,+ defaultManager方法總是返回相同的NSFileManager對象,但如果要使用委托(NSFileManagerDelegate)完成基於文件的操作並接受通知,應該使用- init方法創建一個新的實例,而不是使用共享的對象。

  6.NSBundle

  NSBundle提供了動態加載(或卸載)可執行代碼、定位資源文件以及資源本地化、訪問文件系統等功能。

  + mainBundle方法是創建和獲得NSBundle實例的共享方法。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved