OC回顧

一袍冷、類和對象

1.定義:類是具有相同特征和行為的事物的抽象磷醋,對象是類的具體化,類是對象的類型胡诗。

2.面向?qū)ο蟮娜筇匦?封裝邓线,繼承,多態(tài)煌恢。

3.類對象的關(guān)系

類是對象的抽象骇陈,而對象是類的具體實(shí)例。類是抽象的瑰抵,不占用內(nèi)存你雌,而對象是具體的,占用存儲(chǔ)空間二汛。類是用于創(chuàng)建對象的藍(lán)圖婿崭,它是一個(gè)定義包括在特定類型的對象中的方法和變量的軟件模板拨拓。

4.類類型的聲明

class 類名

{

public:

公用的數(shù)據(jù)和成員函數(shù)

protected:

保護(hù)的數(shù)據(jù)和成員函數(shù)

private:

私有的數(shù)據(jù)和成員函數(shù)

};

5.定義對象方法

1.先聲明類類型,然后再定義對象

2.在聲明類類型的同時(shí)定義對象

二氓栈、繼承和初始化

1.為單一實(shí)例變量賦值的方法叫setter方(設(shè)置器) //setter方法:-號方法,無返回值,set開頭加上對應(yīng)實(shí)例變量的名字(首字母大寫)有且只有一個(gè)參數(shù),參數(shù)的類型和實(shí)例變量的類型相同,參數(shù)名和實(shí)例變量的名相同

2.獲取單一實(shí)例變量的值的方法叫g(shù)etter方法(訪問器) //getter方法:-號方法,有返回值,返回值類型和實(shí)例變量類型相同,方法名get +實(shí)例變量名(首字母大寫),無參數(shù)

3.繼承的優(yōu)勢:其實(shí)就是省代碼,增強(qiáng)程序的可擴(kuò)展性和可修改性.

4.繼承的上層:父類,下層:子類

5.繼承具有單向性:只有單向傳遞,如果a作為b的父類,a就不能再成為b的子類.

6.繼承具有傳遞性:c繼承于b,b繼承于a

4.子類繼承父類的全部實(shí)例變量和方法

5.子類從父類繼承過來的內(nèi)容就是自己的,只不過來源于父類

原則:當(dāng)多個(gè)類中出現(xiàn)部分相同的特征和行為時(shí),可以將相同部分寫成一個(gè)父類,其他類繼承即可.

6.自定義初始化方法的聲明? ? -號方法

- (instancetype)initWith方法名:(參數(shù)類型)參數(shù)名

例如:- (instancetype)initWithName:(NSString *)name;? ? ? ? ? ? ? .h

- (instancetype)initWithName:(NSString *)name{

self = [super init];

if (self) {

_name = name;? }

return self;? ? }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .m

7.便利構(gòu)造器? ? +號方法? ? 調(diào)用類方法渣磷,因?yàn)檎{(diào)用的是類方法,沒有進(jìn)行分配空間初始化授瘦,所以在內(nèi)部把對象進(jìn)行初始化醋界,返回對象。

+ (類名 *) (init用小寫類名代替)With方法名:(參數(shù)類型)參數(shù)名

例如:+ (Person*)personWithName:(NSString *)name;

+ (Person*)personWithName:(NSString *)name{

Person *per = [[Person alloc] initWithName:name];

return per;

}

三奥务、屬性

1.是oc2.0版本定義的語法.提供了setter,和getter方法的默認(rèn)實(shí)現(xiàn),在一定程度上提高了我們的代碼效率.并且提高程序的安全性.

2.屬性的聲明:在.h里使用@property聲明屬性.

//@property(readwrite,nonatomic) NSString *name;

3.在.h里聲明setter和getter方法.

4.讀寫性控制:{

readonly:只讀狀態(tài),告訴編譯器,屬性只生成getter方法,不生成setter方法

readwrite:讀寫狀態(tài),告訴編譯器,我么即生成setter方法也生成getter方法,就是設(shè)置器和訪問器都生成(默認(rèn)的讀寫性)

}

5.原子特性:{

atomic:原子性,setter和getter方法在多線程下是完全安全的,即在setter和getter方法內(nèi)對多線程的訪問進(jìn)行了處理,但是他的效率非常的低(默認(rèn)的原子特性)

nomatic:非原子特性,getter和setter方法里內(nèi)部不會(huì)堆多線程的訪問進(jìn)行處理,即這個(gè)setter和getter方法里只實(shí)現(xiàn)我們最基本的setter和getter方法(pass:這是我們最常用的原子特性)

}

6.語義設(shè)置{

如果我們定義的屬性類型是基本類型:(int,float,char,NSInteger)我們都使用語義的設(shè)置是assign

如果我們定義的屬性類型是對象類型:(person *per)

字符串類型我們用的語義設(shè)置是copy

其他類型我們用的語義設(shè)置是retain

}

四物独、字符串

1.字符串的創(chuàng)建.

第一種方式

char a[] = "lanOu";

initWithUTF8String將c語言里的字符串轉(zhuǎn)換為oc里的字符串

NSString *string1 = [[NSString alloc]initWithUTF8String:a];

NSLog(@"%@",string1);

第一種方式的便利構(gòu)造器方法

NSString * string2 = [NSString stringWithUTF8String:a];

NSLog(@"%@",string2);

第二種方式:字面量

NSString *string3 = @"lanOu3g";//字面量(最常用的字符串創(chuàng)建方式)

NSLog(@"%@",string3);

第三種方式(最nb的創(chuàng)建方式)

NSString * string1 = [[NSString alloc]initWithFormat:@"hello lanou"];

NSLog(@"%@",string1);

NSInteger a = 18;

NSString *string2 = [[NSString alloc]initWithFormat:@"%ld",a];

NSLog(@"%@",string2);

int b = 20;

NSString *string3 = [NSString stringWithFormat:@"%d",b];

NSLog(@"%@",string3);

作用1.創(chuàng)建一個(gè)普通的字符串對象.

2.將別的類型的對象轉(zhuǎn)換成字符串類型的對象.

3.字符串拼接.

NSInteger a = 10;

NSString *string = [NSString stringWithFormat:@"%@",@"heihei,小鴨梨"];

NSLog(@"%@",string);

NSString *string2 = @"是帥哥";

NSString *string3 = [NSString stringWithFormat:@"%@%@,是不是?,%ld",string,string2,a];

NSLog(@"%@",string3);

NSString *string =@"小紅";

NSString *string2 = @"今年";

NSString *string3 = @"歲了";

NSInteger string4 = 8;

NSString *string5 = @"真逗比";

NSString *string6 = [NSString stringWithFormat:@"%@%@%ld%@%@,是不是?",string,string2,string4,string3,string5];

NSLog(@"%@",string6);

2.字符串長度.

NSString *string = [NSString stringWithFormat:@"lanOuDaLian"];

NSUInteger length = string.length;//無符號長整形

NSLog(@"%lu",length);

3.獲取字符串中的字符

NSString *string = [NSString stringWithFormat:@"lanOuKeiJi"];//獲取字符串對應(yīng)字符的下標(biāo)

unichar c = [string characterAtIndex:2];

NSLog(@"%c",c);//無符號短整型

4.判斷字符串是否相等

NSString *string1 = @"heihei";

NSString *string2 = @"haha";

if([string1? isEqualToString:string2]){//判斷調(diào)用對象和傳入對象是否相等(判斷內(nèi)容是否相同)

NSLog(@"兩個(gè)字符串相等");

}else{

NSLog(@"兩個(gè)字符串不相等");

}

if( string1 == string2){//判斷字符串的地址是否相同

NSLog(@"地址相同");

}else{

NSLog(@"地址不相同");

}

5.字符串比較

NSString *string1 = @"laoWang";

NSString *string2 = @"yaLi";

NSComparisonResult result = [string1 compare:string2];

NSLog(@"%ld",result);

switch (result){

case NSOrderedAscending:

NSLog(@"前小后大");

break;

case NSOrderedDescending:

NSLog(@"前大后小");

break;

default:

NSLog(@"相等");

break;

}

6.獲取子字符串

NSString *string = @"lanOuDalian";

獲取下標(biāo)為5之前的字符.(不包含5)

NSString *string1 = [string substringToIndex:5];

NSLog(@"%@",string1);

截取下標(biāo)為5之后的字符(包含5).

NSString *string2 = [string substringFromIndex:5];

NSLog(@"%@",string2);

截取從下標(biāo)3開始長度為4的字符.

NSString *string3 = [string substringWithRange:NSMakeRange(3, 4)];

NSLog(@"%@",string3);

7.字符串拼接

NSString *string = @"大連";

NSString *string2 = [string stringByAppendingString:@"藍(lán)歐"];

NSLog(@"%@",string2);

NSString *string3 = [string2 stringByAppendingFormat:@"%d",1233];

NSLog(@"%@",string3);

8.字符串替換

NSString *string = @"lanoudalian";

前面的a是我想要替換的字符串后面的b是我想要替換成的字符串,

NSString *string2 = [string stringByReplacingOccurrencesOfString:@"a" withString:@"b"];

NSLog(@"%@",string2);

9.字符串類型轉(zhuǎn)換成其他類型

NSString *string1 = @"123";

將字符串轉(zhuǎn)換成長整形

NSInteger a = [string1 integerValue];

NSLog(@"%ld",a);

NSString *string2 = @"18.9";

float b = [string2 floatValue];

NSLog(@"%f",b);

NSString *string3 = @"18";

int c = [string3 intValue];

NSLog(@"%d",c);

10.大小寫轉(zhuǎn)換

NSString *string = @"hello lanou";

(1)全部大寫

NSString *upperString = [string uppercaseString];

NSLog(@"%@",upperString);

(2)全部小寫

NSString *lowerStr = [string lowercaseString];

NSLog(@"%@",lowerStr);

(3)首字母大寫

NSString *capitalStr =[string capitalizedString];

NSLog(@"%@",capitalStr);

11.判斷開頭結(jié)尾

NSString *string = @"http://www.lanou3g.com";

判斷是否以http開頭

BOOL isPrefix = [string hasPrefix:@"http"];

NSLog(@"%d",isPrefix);

12.插入字符串

[mStrinsertString:@"haha"atIndex:0];

NSLog(@"%@",mStr);

13.刪除字符串

[mStrdeleteCharactersInRange:NSMakeRange(3,2)];

NSLog(@"%@",mStr);

14.替換字符串

[mStrreplaceCharactersInRange:NSMakeRange(3,2)withString:@"123"];

NSLog(@"%@",mStr);

15.重置字符串

[mStrsetString:@"heihei"];

NSLog(@"%@",mStr);

五.數(shù)組

系統(tǒng)提供的數(shù)組類:類似于c語言里的數(shù)組的功能

2.數(shù)組是一個(gè)大容器,數(shù)組里可以存儲(chǔ)不同類型的對象,但必須要保證數(shù)組里存儲(chǔ)的都是對象,

3.oc里提供了兩類數(shù)組:一類是NSArray(不可變數(shù)組),一類是NSMutableArray(可變數(shù)組)

可變與不可變的區(qū)別;可變就意味著可以對原對象進(jìn)行操作,不可變就意味著一旦創(chuàng)建,內(nèi)容就不可變.

(1)使用初始化方法創(chuàng)建數(shù)組

NSArray *array1 = [[NSArray alloc]initWithObjects:@"徐冶",@"徐寶寶",@"冶寶寶",@"徐冶寶寶", nil];

NSLog(@"%@",array1);//(%@)對象類型的占位符

(2)使用便利構(gòu)造器方法創(chuàng)建數(shù)組(最常用的方法)

NSArray *array = [NSArray arrayWithObjects:@"xuYe",@"xuBaoBao",@"yeBaoBao",@"xuYeBaoBao" ,nil];

NSLog(@"%@",array);

NSArray *haha = [NSArray arrayWithObjects:@"doubi",@"nihao", nil];

NSLog(@"%@",haha);

(3)字面量

NSArray *array = @[@"xuYe",@"haha",@"doubi",@"nihao"];

NSLog(@"%@",array);

4.數(shù)組元素的個(gè)數(shù)

NSUInteger count = array.count;

NSLog(@"%lu",count);

5.獲取數(shù)組元素

NSString *name1 = [array objectAtIndex:0];

NSLog(@"%@",name1);

字面量取法

NSString *name2 = array[2];

NSLog(@"%@",name2);

NSString *name3 = [array firstObject];

NSLog(@"%@",name3);

NSLog(@"first = %@",name3);

NSString *name4 = [array lastObject];

NSLog(@"%@",name4);

6.當(dāng)數(shù)組為空的時(shí)候,使用firstObject以及l(fā)astObject可以保證程序安全,不會(huì)崩潰,返回值是nil,但使用objectAtIndex:時(shí),如果數(shù)組為空,則程序崩潰(不知道數(shù)組是否為0,用first或者last或者.count判斷)

NSArray *nameArrayOne = [NSArray arrayWithObjects:@"Xuye",@"haha",@"haha",@"heieh", nil];

NSArray *nameArrayTwo = [NSArray arrayWithObjects:@"xiaoYaLi",@"daYaLi",@"yaLiBaoBao",@"xiaoYaLiBaoBao", nil];

7.查找haha對應(yīng)的下標(biāo)

NSUInteger index = [nameArrayOne indexOfObject:@"haha"];

NSLog(@"%lu",index);

8.斷數(shù)組中是否包含某個(gè)對象(還可以判斷是否收藏過,或者閱讀過)

BOOL isTrue = [nameArrayOne containsObject:@"haha"];

NSLog(@"isTrue == %d",isTrue);

9.判斷兩個(gè)數(shù)組是否相等

BOOL isEqual = [nameArrayOne isEqualToArray:nameArrayTwo];

NSLog(@"isEqual == %d",isEqual);

NSString *string1 = @"123";

NSString *string2 = @"321";

if ([string1 isEqualToString:string2]){

NSLog(@"相等");

}else{

NSLog(@"不等");

}

NSArray和NSString之間的轉(zhuǎn)換

NSString *string = @"www.lanou3g.com";(字符串到數(shù)組)

NSArray *array = [string componentsSeparatedByString:@"."];

NSLog(@"%@",array);

10.數(shù)組到字符串

NSArray *myArray = [NSArray arrayWithObjects:@"北京",@"大連",@"上海",@"廣東",@"鄭州",nil];

NSString *myString = [myArray componentsJoinedByString:@"&"];

NSLog(@"%@",myString);

11.Capacity容量

以下三種方式都是創(chuàng)建一個(gè)可變的空數(shù)組

NSMutableArray *myArray = [[NSMutableArray alloc]initWithCapacity:1];//(如果給1用完之后在開辟1個(gè)對象空間,如果給10用完之后再給10個(gè)對象空間如果給20用完空間之后再給開辟20個(gè)對象空間......以此類推);

NSMutableArray *youArray = [NSMutableArray arrayWithCapacity:1];

NSMutableArray *bigArray = [NSMutableArray array];//創(chuàng)建空數(shù)組

12.增加數(shù)據(jù)

addObject? :在數(shù)組的最后面添加

[bigArray addObject:@"lanou"];

[bigArray addObject:@"dalian"];

[bigArray addObject:@"beijing"];

[bigArray addObject:@"beijing"];

NSLog(@"%@",bigArray);

13.在指定位置插入一個(gè)元素

[bigArray insertObject:@"heihei" atIndex:1];//(insert:插入,嵌入)

NSLog(@"%@",bigArray);

14.刪除

(1).刪除指定元素(只要是這個(gè)對象有多少刪多少)

[bigArray removeObject:@"beijing"];

NSLog(@"%@",bigArray);

[bigArray removeObjectAtIndex:0];

NSLog(@"%@",bigArray);

(2).替換元素

[bigArray replaceObjectAtIndex:1 withObject:@"beijing"];

NSLog(@"%@",bigArray);

(3).交換指定位置的兩個(gè)元素

[bigArray exchangeObjectAtIndex:0 withObjectAtIndex:1];

NSLog(@"%@",bigArray);

(4).刪除全部

[bigArray removeAllObjects];

NSLog(@"%@",bigArray);

六、字典

1.字典具有一一對應(yīng)的數(shù)據(jù)氯葬,它是無序的挡篓,取出的key和value是有序的,字典里的數(shù)據(jù)成對出現(xiàn)帚称,值可以相同官研,但是key不可以相同,一個(gè)key一個(gè)value闯睹。

2.便利構(gòu)造器方法

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"xiaoyali",@"name",@"nan",@"sex", nil];

NSLog(@"%@",dic);

NSDictionary *dic2 = @{@"name":@"xiaoyali",@"sex":@"nan"};

NSLog(@"%@",dic2);

3.求字典的元素個(gè)數(shù)

NSUInteger count = dic2.count;

NSLog(@"%lu",count);

4.將字典里所有的value放到一個(gè)數(shù)組里**********

NSArray *values = dic2.allValues;

NSLog(@"%@",values);

5.字典取值

NSString *name = [dic2 objectForKey:@"name"];

NSLog(@"%@",name);

NSString *sex = [dic2 objectForKey:@"sex"];

NSLog(@"%@",sex);

BOOL a = dic2.allKeys;

可變字典

NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"zhangsan",@"name",@"nan",@"sex", nil];

6.字典增加一個(gè)元素

[dic setObject:@"18" forKey:@"age"];

NSLog(@"%@",dic);

[dic setObject:@"jinzhou" forKey:@"city"];

NSLog(@"%@",dic);

7.修改名字為xiaoyali

[dic setObject:@"xiaoyali" forKey:@"name"];

NSLog(@"%@",dic);

8.setObject:forKey:工作原理:先查找字典里有沒有對應(yīng)key,如果有,則修改key對應(yīng)的value,如果沒有把key-value作為元素添加到字典里

[dic setObject:@"dalian" forKey:@"city"];

NSLog(@"%@",dic);

9.移除元素

[dic removeObjectForKey:@"city"];

NSLog(@"%@",dic);

10.移除所有元素

[dic removeAllObjects];

NSLog(@"%@",dic);

11.數(shù)組套數(shù)組

NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"11",@"222", nil];

NSMutableArray *array2 = [NSMutableArray arrayWithObjects:@"22",@"333",@"1234", nil];

NSMutableArray *array = [NSMutableArray array];

[array addObject:array1];

[array addObject:array2];

NSLog(@"%@",array);

12.便利構(gòu)造器方法

NSMutableDictionary *dic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"name",nil];

NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"lisi",@"name",nil];

[array addObject:dic1];

[array addObject:dic2];

NSLog(@"%@",array);

NSMutableDictionary *dic3 = array[3];

NSLog(@"%@",dic3);

創(chuàng)建一個(gè)空字典

NSMutableDictionary *myDic = [NSMutableDictionary dictionary];

[myDic setObject:array1 forKey:@"one"];

[myDic setObject:array2 forKey:@"two"];

NSLog(@"%@",myDic);

[myDic setObject:dic1 forKey:@"three"];

[myDic setObject:dic2 forKey:@"four"];

NSLog(@"%@",myDic);

七戏羽、集合

1.特點(diǎn):無序性,互異性,本質(zhì)上是一個(gè)大容器

NSSet *mySet = [[NSSet alloc]initWithObjects:@"aa",@"bb",@"cc",@"dd",@"aa",@"bb",@"bb",@"cc", nil];

NSLog(@"%@",mySet);

2.元素的個(gè)數(shù)

NSUInteger count = mySet.count;

NSLog(@"%lu",count);

3.獲取集合里的元素

NSString *string1 = [mySet anyObject];

NSLog(@"%@",string1);

4.將集合里的元素取到一個(gè)數(shù)組里

NSArray *myArray = mySet.allObjects;

NSLog(@"%@",myArray);

可變集合

NSMutableSet *mySet = [[NSMutableSet alloc]initWithObjects:@"aa",@"bb", nil];

5.添加元素

[mySet addObject:@"cc"];

[mySet addObject:@"bb"];

NSLog(@"%@",mySet);

NSLog(@"%lu",[mySet count]);

6.移除元素

[mySet removeObject:@"aa"];

NSLog(@"%@",mySet);

八、內(nèi)存管理

1.為什么本該引用計(jì)數(shù)為0的,為什么還是1,引用計(jì)數(shù)只是告訴系統(tǒng)是否需要回收空間,當(dāng)最后一次release的時(shí)候,發(fā)現(xiàn)計(jì)數(shù)為1,就說明只有自己在使用,所以自己release之后直接回收空間即可,無需再將引用計(jì)數(shù)置0

2.過度釋放

Person *per = [[Person alloc]init];

[per release];

[per release];

3.野指針

Person *per = [[Person alloc]init];

per.name= @"冶寶寶";

Person *per2 = per;

[per release];

NSLog(@"%@",per2.name);

4.內(nèi)存泄露

Person *per1 = [[Person alloc]init];

Person *per2 = [[Person alloc]init];

per2 = per1;

NSString *string = @"lanou";

[string release];

[string release];

NSLog(r@"%lu",[string retainCount]);

5.滿足什么條件才會(huì)引用計(jì)數(shù)的概念

(1).必須是oc的對象

(2).空間必須在堆區(qū)

(3).其他區(qū)的引用計(jì)數(shù)都是一個(gè)無限大的數(shù)

Person *per = [[Person alloc]initWithName:@"123"];

[per release];

6. copy

根據(jù)copyWithZone:方法的實(shí)現(xiàn)不同,拷貝分為三種類型:偽拷貝

淺拷貝深拷貝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末楼吃,一起剝皮案震驚了整個(gè)濱河市始花,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孩锡,老刑警劉巖酷宵,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異躬窜,居然都是意外死亡浇垦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門荣挨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來男韧,“玉大人,你說我怎么就攤上這事默垄〈寺牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵口锭,是天一觀的道長寡壮。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么况既? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任这溅,我火速辦了婚禮,結(jié)果婚禮上棒仍,老公的妹妹穿的比我還像新娘悲靴。我一直安慰自己,他們只是感情好莫其,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布癞尚。 她就那樣靜靜地躺著,像睡著了一般乱陡。 火紅的嫁衣襯著肌膚如雪浇揩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天憨颠,我揣著相機(jī)與錄音胳徽,去河邊找鬼。 笑死爽彤,一個(gè)胖子當(dāng)著我的面吹牛养盗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播适篙,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼往核,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嚷节?” 一聲冷哼從身側(cè)響起聂儒,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎硫痰,沒想到半個(gè)月后薄货,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碍论,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柄慰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳍悠。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坐搔,靈堂內(nèi)的尸體忽然破棺而出藏研,到底是詐尸還是另有隱情,我是刑警寧澤概行,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布蠢挡,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏业踏。R本人自食惡果不足惜禽炬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望勤家。 院中可真熱鬧腹尖,春花似錦、人聲如沸伐脖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽讼庇。三九已至绎巨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蠕啄,已是汗流浹背场勤。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留介汹,地道東北人却嗡。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像嘹承,于是被迫代替她去往敵國和親窗价。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容