Time of Update: 2017-02-27
從xcode4.4開始,LLVM4.0編譯器為Objective-C添加一些新的特性。建立數組NSArray,雜湊表NSDictionary, 數值
Time of Update: 2017-02-27
Objective-C中的協議(Protocol)類似於常用的介面,協議(Protocols)中定義的方法,在類中實現。@protocol MyFirstProtocol- (void)myFirstProtocolMethod;@end在iPhone OS中,協議(Protocol)通常用來實現委派物件(Delegate Object)。委派物件(Delegate
Time of Update: 2017-02-27
按照資料類型佔用儲存不同可以自動類型轉換或強制類型轉換,總的原則是小儲存容量資料類型可以自動轉換成為大儲存容量資料類型。不同類型資料間按照下面關係的從左至右(從低到高)自動轉換,_Bool 、 char 、 short int 、枚舉類型 -> int ->long int->long long-> float -> double -> long double
Time of Update: 2018-07-23
@property declaration 屬性 為執行個體變數指定屬性(attributes)的途徑, 可讓編譯好器產生 無泄漏和安全執行緒的訪問執行個體變數的方法. @property 就是對應的編譯器指令 聲明一個與資料成員同名的屬性來省去讀寫函數的聲明 @interface Application {
Time of Update: 2018-07-23
買了本《learn objective-c on Mac》,一開始買來看起來還蠻薄的,250頁,看了後,發現語言都有很多共同的地方,新的特性都從C++和java類似過來,就是換了個名字,感覺看了以後感覺收穫蠻大,雖然只接觸了點皮毛。 1.C語言知識 2.瞭解了xcode使用 3.懂得了一些新文法和新特性。 ----------------------------------------------------------------------------------
Time of Update: 2018-07-23
按書上的例子敲了敲: #import <Foundation/Foundation.h>int main(int argc,const char *argv[]){ @autoreleasepool { //聲明檔案管理對象 NSFileManager
Time of Update: 2017-01-18
Objective-C語言中方法的傳遞有二種:①Selector ② Blocks,本文主要說一下Selector,關於Blocks會在後續總結一下。訊息傳遞模型(Message
Time of Update: 2017-01-18
? %@ 對象? %d, %i 整數? %u 無符整形?
Time of Update: 2017-01-18
NSArray的排序複製代碼 代碼如下:+ (id)studentWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ Student *stu = [[Student alloc] init];
Time of Update: 2017-01-18
現在好的IOS 的 APP有時候會跟網頁內容相關聯,當然也是增加使用者體驗,及更好的,有效體現APP
Time of Update: 2017-01-18
Null 字元串在ios應用中,如果從網路請求資料,返回json或者是xml格式的資料時,經常會遇到空串,一般介面是用java等語言寫的,如果是安卓,因為源語言都是java,只需判斷是否等於null即可,但是在ios中會出現各種各項的形式,比如null,(null),<null>。如果單純用複製代碼 代碼如下:string!=nil;無法判斷出角括弧的空串完整判斷方法複製代碼 代碼如下:-(BOOL)isNull:(id)object{ //
Time of Update: 2017-01-18
一、OC簡介Oc語言在c語言的基礎上,增加了一層最小的物件導向文法,完全相容C語言,在OC代碼中,可以混用c,甚至是c++代碼。可以使用OC開發mac osx平台和ios平台的應用程式。拓展名:c語言-.c OC語言.-m 相容C++.-mm註:其實c語言和oc甚至任何一門語言都只是我們為了實現一些功能,達到一些效果而採用的工具,拋開文法的差別外,我想最重要的應該是在解決問題的時候考慮的角度和方法不一樣而已,然而這也構成了學習一門語言的重要性。 二、文法預覽(1
Time of Update: 2017-01-18
OC點文法和變數範圍一、點文法(一)認識點文法聲明一個Person類:複製代碼 代碼如下:#import <Foundation/Foundation.h>@interface Person : NSObject{ int _age;//預設為@protected}- (void)setAge:(int)age;- (int)age;@endPerson類的實現:複製代碼 代碼如下:#import
Time of Update: 2017-01-18
NSOperation一、NSOperation1.簡介NSOperation執行個體封裝了需要執行的操作和執行操作所需的資料,並且能夠以並發或非並發的方式執行這個操作。NSOperation本身是抽象基類,因此必須使用它的子類,使用NSOperation子類的方式有2種:1> Foundation架構提供了兩個具體子類直接供我們使用:NSInvocationOperation和NSBlockOperation2>
Time of Update: 2017-01-18
解析XML本文以解析本地XML為例,網路擷取到的傳回值只需轉換成NSData型,解析是同理需要解析的xml檔案如下,users.xml<?xml version="1.0" encoding="UTF-8"?><AllUsers> <message>使用者資訊</message> <user> <name>芳仔小腳印</name> <age>10</age> <
Time of Update: 2017-01-18
無論一個類設計的如何完美,都不可避免的會遇到沒有預測到的需求,那怎麼擴充現有的類呢?當然,繼承是個不錯的選擇。但是Objective-C提供了一種特別的方式來擴充類,叫Catagory,可以動態為已經存在的類添加新的行為。這樣可以保證類的原原來的基礎上,較小的改動就可以增加需要的功能。使用Category對類進行擴充時,不需要訪問其原始碼,也不需要建立子類,這樣我們可以擴充系統提供的類。Category使用簡單的方式,實現了類的相關方法的模組化,把不同的類方法分配到不同的分類檔案中。使用Obje
Time of Update: 2017-01-19
1.建立字串(1)常量字串複製代碼 代碼如下:NSString *string = @"i am an iOSDevTip!";(2)常用建立方法複製代碼 代碼如下:NSString *string = [[NSString alloc] init];string = @"i am an iOSDevTip too!";(3)用initWithString建立字串複製代碼 代碼如下:NSString *string = [[NSString alloc]
Time of Update: 2017-01-19
Objective-C程式的結構就像學習所有程式設計語言一樣,第一個程式就是在螢幕列印出“Hello World !”。我看的書上用到的編譯器還是比較老的,我現在用的是Xcode4.2.1,它有自動記憶體管理,所以書上的一些程式也許會報錯。可以在建立工程時不選擇Use Automatic Reference Counting選項解決這個問題。運行Xcode,建立一個Command Line Tool工程,取名FirstProgram。在下一步,我們也取消Use Automatic
Time of Update: 2017-01-19
擷取IPhone 的IMSI序號#include <dlfcn.h>#define PRIVATE_PATH "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"- void getImsi(){#if !TARGET_IPHONE_SIMULATOR void *kit = dlopen(PRIVATE_PATH,RTLD_LAZY); NSString *imsi = nil;
Time of Update: 2017-01-19
內省(Introspection)是物件導向語言和環境的一個強大特性,Objective-C和Cocoa在這個方面的表現尤其的優秀。內省是對象揭示自己作為一個運行時對象的詳細資料的一種能力。這些詳細資料包括對象在繼承樹上的位置,對象是否遵循特定的協議,以及是否可以響應特定的訊息等等。NSObject協議和類定義了很多內省方法,用於查詢運行時資訊,以便根據對象的特徵進行識別。恰當地使用內省可以使物件導向的程式運行更加高效和強壯。也有助於避免錯誤地進行訊息派發、錯誤地假設對象相等。下面的部分舉例介紹