01-OC介紹

目錄ios

1、OC語言介紹編程

2、ios系統數組

3、在OC語言開發中使用C語言語法xcode

4、面向對象app

回到頂部框架

1、OC語言介紹編程語言

1 早在20世紀80年代早期,BardCox發明了Objective-C,擴充了C,面向對象的編程語言。ide

2 NextSTEP簡稱NS;函數

1985年,Steve Jobs成立了NeXT公司;工具

1988年,Next Software公司得到了OC語言的受權,NEXTSTEP環境,爲了蘋果操做系統建立的開發包,發行操做系統OSX的基礎,

1996年,蘋果公司收購了NeXT Software公司,NEXTSTEP環境爲了蘋果操做系統,建立的開發包,發行操做系統OSX的基礎。這個開發環境版本被蘋果公司改名位Cocoa框架。

3 Cocoa框架是蘋果公司爲了MAC OS X所建立的原生面向對象的編程環境。Cocoa應用程序通常在蘋果的工具xcode上用OC編寫的應用程序。

APP Store (全稱:Application Store應用程序商店)

使用cocoa編程環境開發的應用程序叫cocoa應用。

使用cocoa touch編程框架 -> IOS app

cocoa框架由兩部分組成,Foundation框架和Application Kit框架。

Foundation框架是基本框架,包括:字符串、數字、數組、字典集合等。

Application Kit框架,應用程序工具箱,包括實現程序圖形、事件驅動和用戶界面的所有對象,如:窗口、對話框、按鈕、菜單。。。並且這個列表還在不斷添加。

回到頂部

2、IOS系統

IOS系統是蘋果硬件(便攜設備)上的一個操做系統,在2007年1月9日,MacWorld大會上公佈的系統,最初設計給iPhone使用的,後來陸續用到iPod touch、iPad、apple TV等蘋果產品。

開發方向:IOS App、IOS Game

使用語言:IOS App(C、OC)、IOS Game(C、OC、C++)

第一個程序

1 iOS

create project -> ios -> application -> single view  application -> run

2 OSX

create project -> osx -> create project -> command line tool -> type:foundation

測試:C語言的語法是否能夠在main.m文件使用變量、條件分支、循環、函數、結構體、指針。

回到頂部

3、在OC語言開發中使用C語言語法

1 main.c -> main.m

2 include - > import(避免重複導入)

標準函數庫 -> 庫(Foundation)

3 輸出函數printf -> NSLog(加入了時間、地點)

在OC中全部的字符串前都要加上'@'符號

4 在編譯的時候,gcc不支持OC的新語法,應該使用新的編譯命令clang,編譯連接時,須要指定使用的框架(-framework Foundation)

命令行:clang -framework Foundation main.m

OC中獨有的內容

1 xcode編譯器,LLVM:LowLevelVirtualMachine

2 邏輯值數據類型

      BOOL = YES(1) // NO(0)

練習:定義一個函數,求兩個數是否相等,函數的返回值是邏輯只類型,在main函數中,根據邏輯值輸出兩個數是否相等。

 1 //bool
 2 #import <Foundation/Foundation.h>
 3 //練習:定義一個函數,求兩個數是否相等,函數的返回值是邏輯值類型,在main函數中,根據邏輯值輸出兩個數是否相等。
 4 BOOL test(int i1,int i2)
 5 {
 6     if (i1 == i2) {
 7         return YES;
 8     }else{
 9         return NO;
10     }
11 }
12 
13 int main(int argc, const char * argv[])
14 {
15 
16     @autoreleasepool {
17         BOOL b;
18         int i1 = 4,i2 = 8;
19         b = test(i1, i2);
20         if (b) {
21             NSLog(@"相等");
22         }else{
23             NSLog(@"不相等");
24         }
25         NSLog(@"Hello, World!");
26         //邏輯值數據類型
27         bool b1 = true;
28         NSLog(@"b1:%d",b1);
29         BOOL b2 = YES;
30         NSLog(@"b2:%d",b2);
31         
32     }
33     return 0;
34 }

回到頂部

4、面向對象

1 類是一種主觀思想,是對咱們須要解決問題的一種抽象,是建立對象的模型。

2 對象就是具體的數據集合,計算機會把類->實例化->對象。

3 第一個面向對象程序

設計類Student,一個類由兩個部分組成.h(聲明)和.m(實現)

類的實例化->對象:

經過類發送alloc(開闢內存空間)建立對象,經過對象(指針變量)找到內存的對象。

向對象發送消息(函數),此時對象就會響應消息。

對象若是有屬性,對象.屬性=值,給對象的屬性賦值。

練習:建立一個point類,有橫座標x,縱座標y,能顯示位置(show方法),建立兩個位置並顯示。

main.m

 1 //
 2 //  main.m
 3 //  第一個面向對象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 #import "Student.h"
11 
12 int main(int argc, const char * argv[])
13 {
14 
15     @autoreleasepool {
16         //建立Student對象,alloc 開闢內存空間
17         //Student類 -> alloc實例化 -> stu對象(指向首地址)
18         Student* stu = [Student alloc];
19         NSLog(@"stu address:%p",stu);
20         stu.age = 12;
21         [stu study];//調用類中的動態(-)方法
22         //[Student study];//調用類中的靜態(+)方法
23 
24     }
25     return 0;
26 }
View Code

Point.h

 1 //
 2 //  Point.h
 3 //  第一個面向對象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 
11 @interface Point : NSObject
12 
13 @end
View Code

Point.m

 1 //
 2 //  Point.m
 3 //  第一個面向對象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import "Point.h"
10 
11 @implementation Point
12 
13 @end
View Code

Student.h

 1 //
 2 //  Student.h
 3 //  第一個面向對象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 
11 @interface Student : NSObject
12 
13 @property int age;
14 
15 -(void)study;
16 @end
View Code

Student.m

 1 //
 2 //  Student.m
 3 //  第一個面向對象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import "Student.h"
10 
11 @implementation Student
12 -(void)study
13 {
14     NSLog(@"%d調用了study方法",self.age);
15 }
16 @end
View Code

說明:由於OC文件太多,代碼也太多,就不分享了。

相關文章
相關標籤/搜索