1.我們都知道c# java 都有個(gè)入口main函數(shù)而swift卻代碼中卻沒有;不過有main.swift就把這個(gè)文件當(dāng)中程序的入口吧!而且文件不能刪除,如果刪除程序直接不能編譯通過
2 基本語法:用let來聲明常量,用var來聲明變量;一般定義的變量的類型跟值對(duì)應(yīng)
let a=10; 常量只要賦值了不能二次賦值也就是說常量的值不允許改變
var b=10; 也可以定義多個(gè)值(元組) var c=(10,20,30)也可以給名稱var c = (money: 100, name:"ysq")。 訪問c.money
var c=[1,3,4,45] 定義數(shù)軸 ,訪問下標(biāo)
備注: 編程的時(shí)候分號(hào)可以寫可以不寫,注意空格
OC(僅僅是做一些筆記)
好吧!第一次自學(xué)oc那語法真的好操蛋,我發(fā)現(xiàn)原來那些本質(zhì)的東西沒理清:Oc和c完全兼容,所有的關(guān)鍵詞都是@開頭,他雖有的函數(shù)都是虛函數(shù),nil相當(dāng)于null;
還有一個(gè)其他語言沒有的類型id就理解他泛型的對(duì)象吧。oc里面的類一般有二個(gè)文件.h(函數(shù)的申明)和.m(具體的實(shí)現(xiàn)),好吧還有一種類型是指針(這個(gè)東西會(huì)讓人頭暈我也不是很懂只是理解一些,哈哈聽說oc里面很少用到指針復(fù)雜的功能,指針是一個(gè)包含了另一個(gè)變量的地址。申明是指向任意類型變量,指針操作符是個(gè)*取地址&。在oc中對(duì)象就是指針,你可以吧他看作對(duì)象)
類申明的關(guān)鍵詞@interface @end結(jié)束
例子: @interface a:NsObject{
int age;//必須寫字段還可以叫訪問級(jí)別(作用域)
}
//申明函數(shù)相當(dāng)于接口
-(id)init //函數(shù)為init 返回類型id
-(id) abc:(int) newabc; ////函數(shù)為abc 返回類型id 帶個(gè)參數(shù)newabc類型為int
--(id) abc:(int) newabc bcd:(int)newbcd; ////函數(shù)為abc:bcd 返回類型id 帶2個(gè)參數(shù)newabc和newbcd類型為int
@end
引用頭文件 #import "a.h"
@implementation a
-(id)init
{
self=[super init]
//super表示父類 self表示對(duì)象自己
if(self){
id=1;
}
return self;
}
@end
調(diào)用方法在主函數(shù)里面
a *dog=[a alloc];[dog init]
int g=[dog init]
還一種給id(字段)賦值也用上面的類
//這是主函數(shù)入樓什么的簽名不寫啦{
a *xiaoming=[[Person alloc] init]; //person alloc這是相當(dāng)于在內(nèi)存中開閉一個(gè)空間(堆) init初始化一下 *xingming4個(gè)字節(jié)相當(dāng)于一個(gè)指針 就理解指向堆里面的地址
開閉了堆得空間在oc里面要手動(dòng)釋放它;堆就是個(gè)內(nèi)存池
xiaoming->age=20;注意age一開始是有值得為0如果是字符串為null;
a *xiaojian=xiaoming; 記住這這里是在蘸開閉一個(gè)xiaojian的空間二指針指向的地址和第小明的一樣,等于就是一個(gè)對(duì)象而已
a *xiaoli=[[Person alloc] init]; //一定要注意這里是另外開閉一個(gè)空間這是小李的對(duì)象
xiaoming->age=20;
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
面向?qū)ο?1.繼承,繼承就是子類可以得到父類的非私有的字段和方法 ;作用就是創(chuàng)建大量的相似類的時(shí)候可以節(jié)省工作量
2.重寫:父類的方法有時(shí)候不適合子類,那么子類可以寫一個(gè)跟父類一樣的方法名覆蓋掉叫重寫也屬于多態(tài)
3.多態(tài):同一個(gè)接口不同的實(shí)現(xiàn)就像object-c里面方法的申明就是接口
4.虛方法:在oc里面所有的函數(shù)都是虛方法,父類的指針可以只想子類的對(duì)象,但是調(diào)用方法的時(shí)候是不看指針看指向那個(gè)對(duì)象,好住就不同的事物被相同的事件觸發(fā)產(chǎn)生不同的效果;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
oc里面的變量修飾符:默認(rèn)就是auto這個(gè)等程序運(yùn)行到這個(gè)語段的結(jié)束他就釋放掉,比例函數(shù)里面的變量函數(shù)外不能訪問,staic就理解為全局變量,const修飾符這種變量是只讀的
這理解常量
結(jié)構(gòu)體
typedef struct
{
int g;
int e;
}point;
賦值 int main(::::)
{
//申明點(diǎn)變量
point g:
//賦值
g.g=10;
}
枚舉
------------------------------------------------------好吧記一些常用的方法-----------------------------------------------------------
Nsstring:Compare 字符串比較大小后面可以跟這個(gè)options
如果直接用==直接比較是比較內(nèi)存地址的,如果需要比較內(nèi)容相等的話isEqualTostring
hasSuddix 以什么什么結(jié)尾
componentaeparatedbustring 吧數(shù)組轉(zhuǎn)換成Nsstring
componenstparasraBytring 按指定的分割成Nssarray
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注