解譯器模式今天和大家分享的模式是解譯器模式。首先介紹一下解譯器模式適合解決哪類問題。其實,解譯器模式需要解決的問題是,如果一種特定類型的問題發生的頻率足夠高,那麼可能就值得將該問題的各個執行個體表述為一個簡單語言的句子。這樣就可以構建一個解譯器,該解譯器通過解釋這些句子來解決該問題。就應用的例子來說,例如Regex就是它的一種具體應用,解譯器可以為正則表示定義一個文法,如何表示一個特定的Regex,以及如何解釋這個Regex。解譯器模式的類結構圖如下。圖中的結構也比較好理解,解譯器方法抽象出一個
享元模式的概念在物件導向軟體設計中,利用公用對象不僅能節省資源還能提高效能。共用的對象只能提供某些內在的資訊,而不能用來識別對象。專門用於設計可共用對象的一種設計模式叫做享元模式(Flyweight
我們的 iOS
定義 &n
AppDelegate對象方法複製代碼 代碼如下:# 程式第一次啟動後才會執行- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;# 程式將要失去焦點時執行- (void)applicationWillResignActive:(UIApplication *)application;# 程式得到焦點時調用-
網上經常說iOS的通知機制是使用了觀察者模式,裡面有兩個角色,其一是poster(寄件者),另一個是observer(接受資訊的訂閱者)。但我認為重要的角色是通知中樞,它是整個通知機制的核心,有poster寄件者發送的訊息必定要到達通知中樞,再由通知中樞根據這個訊息被哪些observer訂閱者訂閱過,就把訊息往那些訂閱者去分發。整體可以與現在的電子郵件結構作類比的。但要額外說明一下,iOS的通知雖然也叫Notification通知,但是與Android中的通知是不一樣的,在Android中的通知
當使用者通過點擊通知訊息進入應用時- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptionslaunchOptions 中會有推送訊息的userInfo資訊,此時我們可以通過NSDictionary* remoteNotification = [launchOptions
今天主要用到的動畫類是CALayer下的CATransition至於各種動畫類中如何繼承的在這也不做贅述,網上的資料是一抓一大把。好廢話少說切入今天的正題。 一.封裝動畫方法 1.用CATransition實現動畫的封裝方法如下,每句代碼是何意思,請看注釋之。#pragma CATransition動畫實現- (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView :
hitTest:withEvet 調用過程比如如果是當前的View A, 還有一個viewB如果不重寫 hitTest 方法,那麼 系統預設是先調用viewA的hitest 方法,然後再調用viewB的htest方法。系統的調用過程,跟下面的重寫hitest的方法是一模一樣的。複製代碼 代碼如下:-(UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
有時候我們需要自己定義UITableViewCell的風格,其實就是向行中添加子視圖。添加子視圖的方法主要有兩種:使用代碼以及從.xib檔案載入。當然後一種方法比較直觀。一、基本用法我們這次要自訂一個Cell,使得它像QQ好友名單的一行一樣:左邊是一張圖片,圖片的右邊是三列標籤:當然,我們不會搞得這麼複雜,只是有點意思就行。1、運行Xcode 4.2,建立一個Single View Application,名稱為Custom
本文教大家通過storyboard建立控制器,希望對大家的學習有所協助。1.怎麼自己通過storyboard建立控制器,之前都是系統載入storyboard,幫我們建立好控制器。通過UIStoryboard這個對象,就能載入storyboard檔案 注意:必須要有storyboard,建立UIStoryboard對象才有意義,alloc init建立UIStoryboard對象沒有意義1.1> instantiateInitialViewController:預設載入箭頭指向的控制器1.2
iOS中的事件分為三類:觸摸事件、加速計事件、遠端控制事件。只有繼承了UIResponder的對象才能接收並處理事件,稱之為“響應者對象”。UIApplication、UIViewController、UIView都繼承自UIResponder。UIResponder內部提供的方法來處理事件:觸摸事件:touchesBegan、touchesMoved、touchesEnded、touchesCancelled加速計事件:motionBegan、motionEnded、motionCancell
本文執行個體為大家介紹了iOS裁剪圓形頭像的詳細代碼,供大家參考,具體內容如下- (void)viewDidLoad { [super viewDidLoad]; //載入圖片 UIImage *image = [UIImage imageNamed:@"菲哥"]; //擷取圖片尺寸 CGSize size = image.size; //開啟位元影像上下文 UIGraphicsBeginImageContextWithOptions(size, NO, 0);
本文執行個體為大家分享了iOS手勢密碼解鎖的相關代碼,供大家參考,具體內容如下//// LockView.m// 手勢解鎖//// Created by Daniel on 16/4/4.// Copyright © 2016年 Daniel. All rights reserved.// #import "LockView.h" @interface LockView () /** 儲存已選中的按鈕 */@property(nonatomic, strong)
最近在學習Quartz2D,學習了一個簡單畫板的實現,現在把實現過程記錄一下。主要用到的點就是畫線,截屏,繪製圖片,選擇圖片,以及儲存所有繪製的線。首先在storyboard上布局好控制項,設定約束等等,最後的效果是這樣:自訂畫板DrawView,使用時可能是從xib中載入,也可能是手動建立,所以建立對象的方法需要實現兩個:#import <UIKit/UIKit.h> @interface DrawView : UIView/** 線寬 */@property
在圖形介面編程時,解決的第一問題就是如何將靜態介面與代碼關聯起來,或者說是代碼如何與介面上的對象通訊, 代碼如何操作介面上的對象。在iPhone平台上,引入了IBOutlet與IBAction。通過在變數前增加IBOutlet來說明該變數將與介面上的某個UI對象對應,在方法前增加IBAction來說明該方法將與介面上的事件對應. 下面通過一個串連網路伺服器(NetworkConnection)的例子來說明IBOutlet與IBAction。介面上有host 與 port 的Text
在iOS應用開發中,有三類別檢視對象會開啟虛擬鍵盤,進行輸入操作,但如何關閉虛擬鍵盤,卻沒有提供自動化的方法。這個需要我們自己去實現。這三類別檢視對象分別是UITextField,UITextView和UISearchBar。 這裡介紹一下UITextField中關閉虛擬鍵盤的幾種方法。第一種方法,使用它的委託UITextFieldDelegate中的方法textFieldShouldReturn:來關閉虛擬鍵盤。
前言:繼上次《微信支付開發IOS圖文教程案例》以來,一直沒有太多時間,更新總結詳細支付這樣的長篇大論,很抱歉。今天,推出支付寶支付的詳細流程。1、開始下載和查看支付寶支付的Demo。我們直接進入支付寶的支付平台參考來進行整合支付寶支付: https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.jIUkAQ&treeId=59&articleId=103675&docType=1 整合過程基本上就是按照上面的四個流
前言:下面介紹微信支付的開發流程的細節,圖文並茂,你可以按照我的隨筆流程過一遍代碼。包你也學會了微信支付。而且支付也是面試常問的內容。 本文:1、首先在開始使用微信支付之前,有一些東西是開發人員必須要知道的,開啟下面連結: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=3_1 然後可以看到下面的頁面,這個就是微信支付商戶平台的開發文檔,很多東西是可以查閱和瞭解的,在開發使用微信SDK支付功能的時候,遇到了問題也可以到這
1 前言在許多物件導向的應用程式中,有些對象的建立代價過於大或者過於複雜。要是可以重建相同的對象並作輕微的改動,事情會容易許多。我們可以通過輕微的改動重用已有的對象,以適應程式中的特定情況。今天我們就來學習一下該模式。2 詳述2.1 定義應用於“複製”操作的模式成為原型(Prototype)模式。複製(cloning)指用同一模具生產一系列的產品。模具所基於的物品稱為原型。儘管產品是用同一模具複製的,但是某些屬性,如顏色與尺寸,可以稍有不同,但是他們還是屬於同一類。2.2 何時是用原型模式(1)