freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于ios的飯店點菜系統(tǒng)的設計與實現(xiàn)(編輯修改稿)

2025-01-08 19:30 本頁面
 

【文章內容簡介】 w beginAnimations:nil context:nil]; 設置動畫的時間: [UIViewsetAnimationDuration:]; 設置動畫的重復次數(shù): [UIViewsetAnimationRepeatCount:10]; 設置動畫的效果:[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.windowcache:YES]; 動畫的結束是 : [UIView mitAnimations]。 核心動畫 所有核心動畫的動畫類都是從 CAAnimation 類繼承而來, CAAnimation 實現(xiàn)了CAMediaTiming 協(xié)議 ,提供了動畫的持續(xù)時間 ,速度 ,和重復計數(shù), CAAnimation 也實基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 9 現(xiàn)了 CAAction 協(xié)議。該協(xié)議為圖層觸發(fā) 一個動畫動作提供了提供標準化響應。 CATransition 提供了一個圖層變化的過渡效果,它能影響圖層的整個內容。動畫進行的時候淡入淡出 (fade)、推 (push)、顯露 (reveal)圖層的內容。這些過渡效果可以擴展到你自己定制的 Core Image 濾鏡 CAAnimationGroup 允許一系列動畫效果組合在一起 ,并行顯示動畫。 CAPropertyAnimation 是一個抽象的子類,它支持動畫的顯示圖層的關鍵路徑中指定的屬性。 CABasicAnimation 簡單的為圖層的屬性提供修改。支持關鍵幀動畫,你可以指定的圖層屬性的關鍵路徑動畫 ,包括動畫的每個階段的價值 ,以及關鍵幀時間和計時功能的一系列值。在動畫運行是 ,每個值被特定的插入值替代 核心動畫的 CAConstraint 類是一個布局管理器,它可以指定子圖層類限制于你指定的約束集合。每個約束 (CAConstraint 類的實例封裝 )描述層的幾何屬性 (左,右,頂部或底部的邊緣或水平或垂直中心 )的關系,關系到其同級之一的幾何屬性層。核心動畫的圖層和 Cocoa 的視圖在很大程度上沒有一定的 相似性 ,但是他們兩者最大的區(qū)別是 ,圖層不會直接渲染到屏幕上。視圖的 position 坐標和 anchorPoint 有關,屬性指定的矩陣只會影響圖層的子圖層,而不會對圖層本身產生影響 transform 屬性指定的矩陣結合圖層的 anchorPoint 屬性作用于圖層和圖層的子圖層上 面 旋轉的單位采用弧度 (radians),而不是角度 (degress)。以下兩個函數(shù),你可以在弧度和角度之間切換: =0。 [myLayer setValue:[NSNumber numberWithInt:0]forKeyPath:@]。 如果一個圖層的屬性 needsDisplayOnBoundsChange 被設置為 YES 的時候 ,當圖層的 bounds 屬性改變的時候,圖層的內容將會被重新緩存起來。默認情況下圖層的needsDisplayOnBoundsChange 屬性值為 NO。如果你必須重繪圖層的內容,而不是通過加載圖片,那你需要實現(xiàn) drawLayer:inContext:方法。通過委托可以決定哪些內容是需要的并使用 CGContextRef來重繪內容。實例重新緩存其內容,可以通過發(fā)送以下任何一個方法 setNeedsDisplay 或 setNeedsDisplayInRect:的消息,亦或者設置圖層的 needsDisplaOnBoundsChange 屬性為 YES。 CALayer 的屬性 contentsGravity 允許你在圖層的邊界內容修改圖層的 contents 圖片的位置或者伸縮值。默認情況下,內容的圖像完全填充層的邊界,忽視自然的圖像寬高比 contentsGravity 屬性值:基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 10 CABasic 提供了在圖層的屬性值間簡單的插入。 CAKeyframeAnimation 提供支持關鍵幀動畫。你指定動畫的一個圖層屬性的關鍵路徑,一個表示在動畫的每個階段的價值的數(shù)組,還有一個關鍵幀時間的數(shù)組和時間函數(shù)。 CATransition 提供了一個影響整個圖層的內容過渡效果。在動畫顯示過程中采用淡出 (fade)、推出 (push)、顯露(reveal)圖層的內容。常用的過渡效果可以通過提供你自己定制的核心圖像濾鏡來擴展 [7]。 設計模式 MVC 設計模式 圖 設計模式 仔細觀察上面的圖,有控制器到 model 的箭頭,沒有 model 到控制器的箭頭。因為模型不需要知道控制器的存在,這樣可以減少耦合,提高代碼復用可能性。 代理設計模式 代理是一種簡單而功能強大的設計模式,這種模式用于一個對 象 “ 代表 ” 另外一個對象和程序中其他的對象進行交互。主對象(這里指的是 delegating object)中維護一個代理( delegate)的引用并且在合適的時候向這個代理發(fā)送消息。這個消息通知 “ 代理 ” 主對象即將處理或是已經處理完了某一個事件 [14]。 這個代理可以通過更新自己或是其它對象的 UI 界面或是其它狀態(tài)來響應主對象所發(fā)送過來的這個事件的消息?;蚴窃谀承┣闆r下能返回一個值來影響其它即將發(fā)生的事件該如何來處理。代理的主要價值是它可以讓你容易的定制各種對象的行基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 11 為。注意這里的代理是個名詞,它本身是一個對象,這個對象是專門代表被代理對象來和程序中其他對象打交道的。 圖 代理模式流程圖 單例設計模式 iOS 的單例設計模式流程如下圖 所示: 圖 單例模式流程圖 單例模式的意思就是只有一個實例。單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例。這個類稱為單例類。 單例模式的主要優(yōu)點如下: ( 1)單例模式提供了對唯一實例的受控訪問。因為單例類封裝了它的唯一實例,所以它可以嚴格控制客戶怎樣以及何時訪問它。 ( 2)由于在系統(tǒng)內存中只存在一個對象,因此可以節(jié)約系統(tǒng)資源,對于一些需要頻繁創(chuàng)建和銷毀的對象單例模式無疑可以提高系統(tǒng)的性能。 客戶類 接口 代理類 委托類 基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 12 ( 3)允許可變數(shù)目的實例?;趩卫J轿覀兛梢赃M行擴展,使用與單例控制相似的方法來獲得指定個數(shù)的對象實例,既節(jié)省系統(tǒng)資 源,又解決了單例單例對象共享過多有損性能的問題。 單例模式的主要缺點如下: ( 1)由于單例模式中沒有抽象層,因此單例類的擴展有很大的困難。 ( 2)單例類的職責過重,在一定程度上違背了“單一職責原則”。因為單例類既充當了工廠角色,提供了工廠方法,同時又充當了產品角色,包含一些業(yè)務方法,將產品的創(chuàng)建和產品的本身的功能融合到一起。 ( 3)現(xiàn)在很多面向對象語言 (如 Java、 C)的運行環(huán)境都提供了自動垃圾回收的技術,因此,如果實例化的共享對象長時間不被利用,系統(tǒng)會認為它是垃圾,會自動銷毀并回收資源,下次利用時又將重 新實例化,這將導致共享的單例對象狀態(tài)的丟失。 在以下情況下可以考慮使用單例模式: ( 1)系統(tǒng)只需要一個實例對象,如系統(tǒng)要求提供一個唯一的序列號生成器或資源管理器,或者需要考慮資源消耗太大而只允許創(chuàng)建一個對象。 ( 2)客戶調用類的單個實例只允許使用一個公共訪問點,除了該公共訪問點,不能通過其他途徑訪問該實例。 鍵值監(jiān)聽模式 KVO (Key Value Observing)是 iOS 里面一種特別方便的機 制用于 “ 捕捉 ” 對 象屬性的變化。在概念理解上,是設計模式里面觀察者模式的一種實踐。 KVO 是 Cocoa的一個重要機制,當有屬性改變, KVO 會提供自動的消息通知。這樣開發(fā)人員不需要自己去實現(xiàn)這樣的方案:每次屬性改變了就發(fā)送消息通知。下面是 KVO 實現(xiàn)的一些核心代碼: importFoundation/ @interface EmployeeData : NSObject { NSString *salary。 } @property(nonatomic,retain) NSString *salary。 基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 13 @end import @implementation EmployeeData @synthesize salary。 @end importUIKit/ @interface ViewController : UIViewController { UILabel *salary。 } @property(nonatomic,retain) IBOutlet UILabel *salary。 @end import import @interface ViewController () { EmployeeData *employeeData。 } @end @implementation ViewController @synthesize salary。 (void)viewDidLoad { [super viewDidLoad]。 // Do any additional setup after loading the view, typically from a nib. employeeData = [[EmployeeData alloc] init]。 [employeeData addObserver:self forKeyPath:@salary options:NSKeyValueObservingOptionNew context:nil]。 } 基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 14 (void)viewDidAppear:(BOOL)animated { = @20。 = @200。 = @2021。 = @20210。 = @202100。 } (void)viewDidUnload { [super viewDidUnload]。 } (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown)。 } (void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary *)change context:(void *)context { NSLog(@observeValueForKeyPath is run)。 if (object == employeeData amp。amp。 [keyPath isEqualToString:@salary]) { = 。 } } (void) dealloc { [employeeData removeObserver:self forKeyPath:@salary]。 } @end 基于 iOS 的飯店點菜系統(tǒng)的設計與實現(xiàn) 15 iOS 模擬器 iOS 模擬器是 iOS 開發(fā)者在軟件開發(fā)的時候,用來進行測試的一個工具。運行Xcode 的代碼時候,并啟動 iOS 模擬器。當然你也可以對 iOS 模擬器進行設置, 寸 iPhone, 4 寸 iPhone , iPad 等,都可以根據(jù)個人愛好進行設置。在運行應用程序的時候, iOS 模擬器會最大程度地模擬實際 iOS 設備的運行方式。由于 iOS 模擬器啟動和調試都很快,因此它非常適合用來測試用戶界面是否符合預期,網絡調用是否正確,電話旋轉的時候視圖變化是否正確。您甚至可以使用鼠標模擬觸摸手勢。 iOS 模擬器能為您的開發(fā)工作節(jié)約大量的時間 [9]。 真機調試 當然模擬器只是一種模擬的環(huán)境,如果想在真實的環(huán)境中測試所編寫軟件的效果還需要在真機的條件下測試,這里說明一下真機調試時的步驟:首先要在蘋果網站上注冊 APP ID,以及購買 iPhone Develop Program(iDP) 開發(fā)者授權, 99 美元。然后要創(chuàng)建證書請求 CSR,創(chuàng)建步驟如下: ( 1) Mac OS 中,打開應用程序,找到鑰匙串訪問( Keychain Access)工具開主菜單-證書助理 (Certificate Assistant)-從證書代理請求證書( Request a CertificateFrom a Certificate Authority)輸入 iDP 注冊時的 ,用戶名自定義。 ( 2 ) 接 下 來 就 可 以 登 錄 iDP Portal 提 交 證 書 請 求 了 , 到 這 個 頁 面 : 圖 提交證書界面 下載上圖的兩個文件到本地,打開 Keychain Access
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1