藍懿IOS委托模式代理模式

?

今天劉國斌老師講了有關oc語言里的委托模式(代理模式),通過了一個打地鼠的游戲講解了委托模式的功能作用,之后連帶講解了協議的書寫和使用。??

?????打地鼠功能包括屏幕隨機出現地鼠,點擊消失,如果不點擊5秒后自動消失,屏幕右上角有一個label顯示點擊的數量;編寫思維是,首先在文件里粗昂見一個類,在類里重寫init方法,加上每。5秒出現的事件,倒入viewcontroler文件,在地鼠類里聲明一個屬性delegate,在button點擊事件加上創建對象點delegate調用viewcontroler里的加分方法。????

??????協議的使用時先創建對象,三步順序??一般都是用蘋果給我們寫好的控件,不用自己寫協議。

??????一,用對象點delegate

??????二,如果能點出delegate那么該控件就有協議,到interface上寫上協議

??????三,看協議里是否有必須執行的方法

-?(void)viewDidLoad?{

????[super?viewDidLoad];

????self.lb=[[UILabel?alloc]initWithFrame:CGRectMake(0,?0,?55,55)];

????self.lb.backgroundColor=[UIColor?redColor];

????self.lb.text=@"0";

????[self.view?addSubview:self.lb];

????

????[NSTimer?scheduledTimerWithTimeInterval:1?target:selfselector:@selector(moo)?userInfo:nil?repeats:YES];

????

}

-(void)moo{

????Mouse?*mm=[[Mousealloc]initWithFrame:CGRectMake(arc4random()%333,arc4random()%666,?33,?33)];

????//???委托模式,實例一個對象,在Mose里又一個屬性?ViewController?*vc,叫對象mm點出他的屬性,之后把自身的頁面給mm里的屬性vc。

????mm.vc=self;

????[self.view?addSubview:mm];

????

}

????//???聲明方法,叫Mouse類每次調用此方法是label的text數值加一

-(void)addS{

????int?old=self.lb.text.intValue;

????int?new=old+1;

????

????self.lb.text=@(new).stringValue;

}

?

轉載于:https://www.cnblogs.com/lanyisanqqi/p/5100021.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458478.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458478.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458478.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#調用C++類(以COM組件的形式)

如果想用C#調用C/C寫的函數,可以先將C/C的函數寫成dll文件,由C#用DllImport的方式來調用,但是這種方法無法調用C寫的類,如果想調用C類,可以先把C類封裝成COM組件,再由C#來調用。方法如下(以VS20…

Duplicate interface definition for class

在添加文件之后,報 Duplicate interface definition for class 原因是:重復添加文件 仔細檢查檢查

dom解析xml

為什么80%的碼農都做不了架構師?>>> 轉載自:http://www.cnblogs.com/shenliang123/archive/2012/05/11/2495252.html 使用eclipse需要手動導入crimson.jar包 org.w3c.dom(java dom)解析XML文檔 位于org.w3c.dom操作XML會比較簡單&#xff0c…

逃離北上廣:你以為回到小城市就非常幸福了嗎?

忘記在哪兒看的了。感覺不錯,隨手發出來。我博客也有更新,底下有留個人博客鏈接 在過去幾年里。“逃離北上廣”一直是一個熱門短語。拿我自己來說,工作在上海,但又不是上海人。畢業后,就選擇租房,首先就為這…

Redefinition of enumerator ios

添加文件之后 報 Redefinition of enumerator iOS 原因是:重復添加文件 仔細檢查檢查

[WinForm] VS2010發布、打包安裝程序(超全超詳細)

from: http://blog.csdn.net/y13156556538/article/details/555321841、 在vs2010 選擇“新建項目”→“ 其他項目類型”→“ Visual Studio Installer→“安裝項目”: (如果是在solution中添加,就直接solution -- 右鍵 -- 添加project&#…

易貨Beta版本發布說明

說明 由于前幾天確實比較忙,所以沒來得及寫發布說明。 功能 我們在beta版本主要加入了以下幾個功能: 一:增加了用戶的發布界面 二:增加了用戶的購買界面 三:使用下拉刷新取代了之前的handler后臺更新 四:優…

【譯】什么導致了Context泄露:Handler內部類

思考下面代碼 1 public class SampleActivity extends Activity { 2 3 private final Handler mLeakyHandler new Handler() { 4 Override 5 public void handleMessage(Message msg) { 6 // ... 7 } 8 } 9 } 如果沒有仔細觀察,上面的代碼…

js基礎 one

js忽略空格符和換行符 js嚴格區分大小寫 ;為js的結束符 可以使用{}擴成一個語句組,形成一個block塊 通過 \ 實現折行操作 document.write(hello \world); 通過document.write() 向文檔書寫內容 通過xonsole.log()向控制臺寫入內容變量 js變量重名會產…

關于.Net中Process和ProcessStartInfor的使用

System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下幾個功能:1、打開某個鏈接網址(彈窗)。2、定位打開某個文件目錄。3、打開系統特殊文件夾,如“控制面板”等。那么它是怎么實現這幾個功能的呢&#xff1f…

Sublime 的中文亂碼問題

Sublime Text 是現在最受歡迎的文本編輯器,沒有之一。它非常簡潔,而且對各種代碼的高亮顯示很美觀。但是,它默認不支持 GBK、Shift-JIS 等中文、日本編碼格式,故打開此類文件會出現亂碼。 安裝 Package Control 首先要安裝一個包控…

蘋果應用上架遇到的問題(2017年4月27日)

在更新app store的時候報(如圖): ERROR ITMS-90086: "Missing 64-bit support. iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK or later. We recommend using the default "S…

工作者對象HttpWorkerRequest

在ASP.NET中,用于處理的請求,需要封裝為HttpWorkerRequest類型的對象。該類為抽象類,定義在命名空間System.Web下。 #region Assembly System.Web.dll, v4.0.0.0 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFr…

C#輸入輸出重定向

當 Process 將文本寫入其標準流中時,通常將在控制臺上顯示該文本。通過重定向 StandardOutput 流,可以操作或取消進程的輸出。例如,可以篩選文本、用不同方式將其格式化,也可以將輸出同時寫入控制臺和指定的日志文件中。有兩種方式…

C語言筆試常考知識點

1. const 關鍵字 a) const int a; b) int const a; c) const int *a; d) int * const a; e) int const * const a; 解析: a) a為一個int型變量,在它被定義時就應當對其初始化,因為以后就沒有機會再去改變它了。 b) 與 a) 是一個意思&a…

蘋果應用上架,一些信息的勾選(2017年4月27日)

1、分級的各種選項的選擇全部選否 (我們公司是醫療相關的app,醫療的選項也是選擇的否) 2、

jsp頁面路徑問題

jsp路徑默認不是項目跟路徑 一、 <% page language"java" import"java.util.*" pageEncoding"utf-8"%> <% String path request.getContextPath(); String basePath request.getScheme() "://" request.getServerName() …

C# 線程池ThreadPool

什么是線程池&#xff1f;為什么要用線程池&#xff1f;怎么用線程池&#xff1f; 1. 什么是線程池&#xff1f;.NET Framework的ThreadPool類提供一個線程池&#xff0c;該線程池可用于執行任務、發送工作項、處理異步 I/O、代表其他線程等待以及處理計時器。那么什么是線程池…

蘋果應用上架,圖片的要求(2017年4月27日)

看這個提示應該就明白了吧。 哈哈&#xff0c;我還是自己再說一遍加深一下印象吧&#xff1a;如果應用在各個尺寸iphone屏幕上面外觀一樣&#xff0c;就只準備5.5英寸的圖就可以了&#xff1b;如果有所不同&#xff0c;就按照實際情況&#xff0c;準備不同屏幕尺寸的圖片即可。…

jQuery操作checkbox

2012歐洲杯"死亡之組"小組出線的國家隊是&#xff1a;<br> <inputtype"checkbox"name"nation"value"Germany">德國 <inputtype"checkbox"name"nation"value"Denmark">丹麥 <input…