Time of Update: 2017-01-18
學過c/c++的朋友都知道,我們定義struct/class的時候,如果把訪問限定符(public,protected,private)設定為public的話,那麼我們是可以直接用.號來訪問它內部的資料成員的。比如//in Test.hclass Test{public: int i; float
Time of Update: 2017-01-19
Android和iOS開發都支援C++開發,可以一套代碼多平台使用。同時C++難以反編譯的特性也可以為Android開發帶來代碼的保密,另一native特性也可以提高代碼的運行效率。一、為什麼使用C/C++ 便於移植,用C/C++寫得庫可以方便在其他的平台上再次使用。 代碼的保護,由於java層代碼很容易被反編譯,而C/C++庫反匯難度較大。 提高程式的執行效率,將要求高效能的應用邏輯使用C/C++開發,從而提高應用程式的執行效率。 訪問現有開源庫,需要訪問底層的API或引用一些只有C/
Time of Update: 2018-07-24
iOS9中增加了許多新特性(What's New in iOS 9.0 - Apple Developer),其中的Search功能讓我高度興趣。簡單看了一下,主要有三種方式,來實現local和server兩種搜尋。 自己動手嘗試了下第二種,即用Core Spotlight架構來實現Index App Content。主要步驟如: 1. 添加所需要的架構
Time of Update: 2016-08-04
標籤:原文網址:http://blog.csdn.net/totogo2010/article/details/8198694介紹:開發應用的時候第三方的庫是不可缺少的,能提高開發的效率。 一些經常用到的庫,在新的項目裡用是,你又得手工的Add到項目裡,用的到庫多起來了,就不方便管理了。發現CocoaPods這個軟體,可以幫你管理Xcode裡的第三方的庫,很方便。那怎麼用呢?先安裝CocoaPods。1、CocoaPods是跑在Ruby的軟體,安裝可能需要幾分鐘,安裝命名:sudo gem
Time of Update: 2016-07-12
標籤:NSCoder類1,概述將對象的執行個體變數和其他資料編碼為資料區塊,然後將他們存在到磁碟當中;以後將這些資料區塊讀回到記憶體中,並且還基於儲存的資料建立新的對象,也稱序列化或還原序列化。2,用法a,首先,定義一個類,使其遵守<NSCoding>協議@interface Thingie:NSObject <NSCoding>{ NSString *name; int magicNumber; float
Time of Update: 2016-06-17
標籤:一個NSValue對象是用來儲存一個C或者Objective-C資料的簡單容器。它可以儲存任意類型的資料,比如int,float,char,當然也可以是指pointers, structures, and object
Time of Update: 2016-04-29
標籤:1. property基本使用 - - - 編譯器只要看到@property, 就會自動產生某一個屬性的getter/setter方法的聲明2. @synthesize@synthesize是一個編譯器指令, 它可以簡化我們getter/setter方法的實現什麼是實現: 在聲明後面寫上大括弧就代表著實現在@synthesize後面告訴編譯器, 需要實現哪個@property產生的聲明告訴@synthesize,
Time of Update: 2016-04-27
標籤: category與associative作為objective-c的擴充機制的兩個特性,category即類型,可以通過它來擴充方 法;associative,可以通過它來擴充屬性;在iOS開發中,可能category比較常見,相對的associative,就用的比較少,要用 它必須使用<objc/runtime.h>的標頭檔,然後就可以自由使用objc_getAssociatedObject以及
Time of Update: 2016-04-10
標籤:首先說一下他們兩的作用,nil就是把一個對象的指標置為空白,只是切斷了指標與記憶體中對象的聯絡,它對記憶體的釋放沒有什麼作用;而release才是真正用於記憶體釋放的,release後系統會將該塊記憶體標記為可用(可重新分配)。所以nil並沒有釋放記憶體,只有release才是真正釋放記憶體。 二者使用順序,如果沒有release就直接nil,那麼雖然不會出錯(release一個null
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-03-22
標籤: OS X,iOS中的大部分作為開源軟體公開在 Apple Open Source 上。雖然想讓大家參考NSObject類的原始碼,但是很遺憾,包含NSObject類的Foundation架構沒有公開。不過Foundation架構使用的是Core
Time of Update: 2016-03-14
標籤:原文地址:http://onevcat.com/2013/05/talk-about-warning/ 一個有節操的程式員會在乎自己的代碼的警告,就像在乎飯碗邊上有只死蟑螂那樣。 ——@onevcat重視編譯警告現在編譯器有時候會很吵,而編譯器給出的警告對開發人員來說是很有用的資訊。警告不會阻止繼續編譯和連結,也不會導致程式不能運行,但是很多時候編譯器會先你一步發現問題所在,對於Objective-C來說特別如此。Clang不僅對於明顯的錯誤能夠提出警告(
Time of Update: 2016-03-14
標籤:1.NSLog(@“hello world!”);//列印語句的函數,需要列印的字串放在@之後。NSLog(@“are %d and %d different?%@”,4,4,@”YES”);2.方括弧有兩個作用:1)訪問數組元素2)用於通知某個對象執行什麼,在方括弧內第一項是對象,其餘部分是需要對象執行的操作。例如,[shape draw]的含義為通知shape執行draw方法。3.方法調用:類名 方法名:參數注意:
Time of Update: 2016-03-13
標籤:同步非同步並行串列工作群組時間等待Dispatch Queue有兩種:1.Serial Dispatch Queue,串列Queue,按隊列順序每次只能執行一個該線程中追加的任務(可通過建立多個串列queue實現並存執行任務(會降低效能))串列queue可解決多個線程更新相同資源導致資料競爭的問題,讓操作該資源的任務放在同一個串列queue中執行即可2.Concurrent Dispatch Queue,並行Queue,該線程中追加的任務可同時執行擷取Dispatch
Time of Update: 2018-12-03
oc中的數組和我們以前學過的c、c++或者是java中的數組還是有很大的區別的Foundation中的數組是一組有序的對象的集合,數組中不可以存放基礎資料型別 (Elementary Data Type),只能存放類的執行個體(對象),如果需要將基礎資料型別 (Elementary Data Type)、結構體存放在數組中,需要先進行封裝NSArray 不可變數組單一元素初始化//初始化一個單元素數組 NSArray *array = [NSArray
Time of Update: 2018-12-03
一、setter和getter的一般寫法 setter和getter器可以說是一個類最基本的東西,任何一門物件導向的語言,都又這個概念,C++、java等等。因為setter和getter是對物件導向語言封裝的最基本的支援。在Objective-C的setter和getter器,當然也和一般的語言沒有什麼不同。只不過,添加了一些自己的特性。比如有一個執行個體變數:int age;先在.h檔案中聲明setter和getter器-(void)setAge:(int)newAge;-(int)age;
Time of Update: 2018-12-03
Source Annotations主要支援幾種檢查Specific TopicsAnnotations to Enhance Generic ChecksNull Pointer CheckingAttribute 'nonnull'Mac OS X API AnnotationsCocoa & Core Foundation Memory Management AnnotationsAttribute 'ns_returns_retained'Attribute
Time of Update: 2018-12-03
Before learning the intricacies of a new programming language it is often worth taking a little time to learn about the history and legacy of that language. In this chapter ofObjective-C 2.0 Essentials we will provide a brief overview of the
Time of Update: 2018-12-03
Objective-C文法之第一個iPhone應用程式的那些事兒雨松MOMO原創文章如轉載,請註明:轉載至我的獨立網域名稱部落格雨松MOMO程式研究院,原文地址:http://www.xuanyusong.com/archives/432Objective-C文法系列在之前的文章中一直在介紹基本的文法的相關知識,但是學習文法的目的還是為了走進iPhone IOS的開發世界。從今以後Objective-C文法文章將不在更新。全力更新IOS遊戲開發
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 =