Time of Update: 2015-12-22
標籤:聲明式屬性的使用:聲明式屬性叫編譯期文法@property(retain,nonatomic)Some *s;@property(參數一,參數二)Some *s;參數1:retain:修飾引用(對象)資料類型 assgin:修飾基礎資料型別 (Elementary Data Type)(預設) copy:一些對象需要複製才能使用NSString readonly:唯讀,只有setter方法,沒有getter方法參數2:保證多線程的安全性 atomic:原子性 線程是安全的,但效率低(預設)
Time of Update: 2015-11-28
標籤:多態 多態的概念 有這樣一個例子.早上我和同事說口渴了.結果:A同事拿著我的水杯去給我接了一杯水.B同事順手在飲水機上拿了一次性紙杯給我接了杯水。C同事給了我一瓶他早上剛買的飲料。同事們得到的是同樣的請求,但是三個人都有各自的解決辦法,這就是多態。 在物件導向的程式設計理論中,多態(polymer
Time of Update: 2015-11-26
標籤: 物件導向的三大特性:封裝、繼承和多態 封裝目的就是將資料隱藏起來,外界只能通過這個類的方法(介面)才能訪問或者設定裡面的資料,不可以在外部直接修改或者訪問裡面的資料,通常使用方法來達到封裝一個類的目的,最終使這個類達到高內聚低耦合的目的. 耦合說的是一個軟體結構宏各個模組之間的相互關聯相互緊密的程度,模組之間的聯絡越精密,其耦合性也就越強,模組間耦合的高低取決於模組之間介面的複雜性,調用資訊的方式及傳遞的資訊. 內聚說的是單個模組內各個元素之間彼此結合的緊密程度,所謂高內聚就是一
Time of Update: 2015-10-28
標籤:ios oc runtime
Time of Update: 2015-09-04
標籤:UIScrollView控制項和UIPageControl控制項: UIScrollView用於顯示多於一個螢幕的內容,超出螢幕範圍的內容可以通過滑動進行查看,當然UIPagecontrol也能實現圖片分頁查看。
Time of Update: 2016-04-10
標籤:Cocoa是在Mac OS X系統上原生的一個編譯環境。他包含兩個架構,其實就是一系列的類庫,Foundation和AppKit。在你的iPhone等掌上裝置上,使用的則是他的一個子類 - Cocoa Touch。他所支援的Foundation架構與Cocoa相同,但他的使用者圖形類庫為UIKit,它是為掌上裝置特殊設計,提供了你裝置上的介面。Cocoa Touch與Cocoa一個比較鮮明的區別就是Cocoa Touch並不支援記憶體回收機制,這就意味著你必須在你的代碼裡管理好你的記憶體。
Time of Update: 2016-01-16
標籤:UITableView在IOS開發中佔據非常重要的位置,必須熟練掌握。學習UITableView之前,先瞭解一下一些基本概念:UITableView繼承於UIScrollView,是可以進行垂直滾動的控制項UITableView的每一條資料對應的儲存格叫做Cell,是UITableViewCell的一個對象,繼承於UIViewUITableView可以分區顯示,每一個分區稱為section,每一行稱為row,編號都從0開始系統提供了一個類來整合section和row,叫做NSIndexPa
Time of Update: 2018-12-05
布爾類型C裡面的布爾類型bool具體true和false值,而objective-c裡面提供BOOL,但它的值卻是YES和NO。實際上objective-c的BOOL實際上是一種對帶符號的字元類型(singed
Time of Update: 2018-12-03
Objective-C語言被設計成一種精緻的,物件導向的,用法簡單的電腦語言。它是完全基於標準C語言,並且做了最小的,但是功能強大的擴充的語言。這個擴充語言借鑒了是早期的能支援物件導向的語言Smalltalk的風格。Objective-C使用一種簡單易懂的方式使得C語言能夠完全支援物件導向。大部分物件導向的開發都保護下面幾個部分:一個物件導向的語言 一個類庫一系列的開發工具一個運行期環境本文檔描述了開發環境的第一部分--程式語言。同時對第二部--類庫--提供簡單描述,Objective-C提供了
Time of Update: 2018-12-04
使用ARC能幫我們減輕不少記憶體管理方面的負擔,尤其是對用慣了Java的程式員來說。但是像我這種Java基礎本身就不牢固,做了兩年的iOS已經習慣手動管理記憶體的半吊子,使用ARC還是經常碰壁。最近碰到了CFObject和NSObject轉換的問題,由於ARC不能管理Core Foundation Object的生命週期,所以在Core
Time of Update: 2018-12-03
建立NSString的方法:NSString *str1 = @"Hello World";NSString *str2 = [[NSString alloc] init];str2 = @"Hello World";[str2 release];NSString *str3 = [[NSString alloc] initWithString:@"Hello World"];[str3 release]; //記憶體被回收,但是變數可改變指標位置,繼續使用該變數str3 =
Time of Update: 2018-12-05
文章目錄 http://fei263.blog.163.com/blog/static/9279372420113193523828/Block http://fei263.blog.163.com/blog/static/9279372420113193523828/BlockApple 在C, Objective-C, C++加上Block這個延申用法。目前只有Mac 10.6 和iOS
Time of Update: 2018-12-07
在 object-c 中,selector 包含兩種意義:在源檔案中,它指向一個方法調用,在編譯後它指向一個 unque indentifier。編譯後的 selector 的類型為 SEL,同名的方法的選取器也相同。使用 selector 來調用object 方法是 Cocoa 架構 "目標-動作" 編程模型的基礎。可以使用 @selector 來為 selector 建立一個別名:SEL setWidthHeight;setWidthHeight =
Time of Update: 2018-12-06
.h :標頭檔。標頭檔包含類,類型,函數和常數的聲明。 .m :原始碼檔案。這是典型的原始碼副檔名,可以包含Objective-C和C代碼。 .mm :原始碼檔案。帶有這種副檔名的原始碼檔案,除了可以包含Objective-C和C代碼以外還可以包含C++代碼。僅在你的Objective-C代碼中確實需要使用C++類或者特性的時候才用這種副檔名
Time of Update: 2018-12-06
http://www.cnblogs.com/zhwl/archive/2012/01/05/2312649.html隨手筆記,objective-c與java的幾點不同: a. java通過Class來標識類,而Objective-C通過@interface/@implementation來標識類;b. java通過static來區分是否是靜態方法,而Objective-C通過+/-來區分;c.
Time of Update: 2018-12-07
首先需要引入AudioTool 這個framework 代碼 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->- (id)initWithPath:(NSString *)path{ UInt32 size, maxPacketSize; char *cookie; int i;
Time of Update: 2018-12-07
分享兩段Objective - C實現單例模式的code 貌似在MAC開發裡面很少有人提及設計模式。。。至少還沒有看到用Objective —C實現什麼設計模式的。。。 代碼 Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
1 objective-c:變數與間接。變數是間接的一種。通過將值賦給變數,然後只需要修改變數的值,而不要一個個去修改變數有出現過的地方。檔案是間接的一種。主要是通過程式間接的讀取檔案中的資料,不把資料寫死在程式中 傳遞隱藏變數。如:self->FillColor = c這也是一種間接傳遞 。2.int main(int argc,const char * argv[])其中argc是命令列參數,argv[0]儲存程式的名稱。而argv[1]儲存第一個參數。 3.oop專家:在調用函數時,
Time of Update: 2018-12-06
日期之間比較可用以下方法 - (BOOL)isEqualToDate:(NSDate *)otherDate; 與otherDate比較,相同返回YES - (NSDate *)earlierDate:(NSDate *)anotherDate; 與anotherDate比較,返回較早的那個日期 - (NSDate *)laterDate:(NSDate *)anotherDate; 與anotherDate比較,返回較晚的那個日期 -
Time of Update: 2018-12-07
建立一個對象需要丙步:1. 動態為新對象分配記憶體。2. 將新分配的記憶體與相關的值產生關聯。直到這兩步都做完,對象建立過程才算全部完成,雖然是兩個步聚,但是在編寫代碼的時候通常使用一行代碼來完成:id anObject = [[Rectangle alloc] init];分離這兩個步驟給我們更多的選擇擇。基底物件 NSObject 中的 alloc 和 allocWithZone 方法提供兩種分配方式 。這兩個方法一般不需要在子類中覆寫。它們為成員變數分配足夠的記憶體以供使用。具體的步驟:1