(轉(zhuǎn)載)學(xué)習(xí)唐巧的《iOS開發(fā)進(jìn)階》

作者Molary已關(guān)注

2016.02.28 16:51*字?jǐn)?shù) 4334閱讀 1109評論 1喜歡 10

(一)推薦的圖書

1.書里推薦的圖書:

Object-c程序設(shè)計(jì)

swift快速入門

跨越終端web

iOS測試指南

(二)推薦的博客和如何更好的學(xué)習(xí)iOS開發(fā)

1.提高iOS開發(fā)技能

1)閱讀博客

好的博客列表:https://github.com/tangqiaoboy/iOSBlogCN

2)讀書

每年至少堅(jiān)持讀完一本高質(zhì)量的iOS開發(fā)圖書

3)看WWDC視頻

4)看蘋果的官方文檔

5)看開源項(xiàng)目的代碼

除iOS開發(fā)本身知識外顶瞒,還可以學(xué)習(xí)設(shè)計(jì)模式和軟件架構(gòu)等

6)多寫代碼多思考

盡量保持寫的代碼都具有復(fù)用性。代碼因?yàn)闃I(yè)務(wù)需求需要變更時(shí)锈候,及時(shí)重構(gòu)崭放,在不要留下技術(shù)債的同時(shí)哟楷,多思考如何設(shè)計(jì)應(yīng)用結(jié)構(gòu)赌渣,保證滿足靈活多變的產(chǎn)品需求晓淀,在多次重構(gòu)和思考中怜瞒,會慢慢積出一系列的最佳解決辦法线罕,成為自己的寶貴經(jīng)驗(yàn)止潮。

7)多和同行交流

國內(nèi)的技術(shù)社區(qū)進(jìn)行交流,國外的Stack Overflow(http://www.stackoverflow.com)上提問或者回答問題钞楼。

8)分享

分享方式:發(fā)起一個(gè)開源項(xiàng)目喇闸,寫技術(shù)博客,在技術(shù)會議上做報(bào)告询件。

(三)摘要:iOS開發(fā)工具

1.CocoaPods

CocoaPods項(xiàng)目的源碼地址:https://github.com/CocoaPods/CocoaPods

可以節(jié)省設(shè)置和更新第三方開源庫的時(shí)間燃乍。

使用CocoaPods將用到的第三方庫放到profile的文件中,執(zhí)行pod install雳殊。會自動(dòng)下載下來

注意事項(xiàng):

1)關(guān)于.gitigonre

profile.lock只有在執(zhí)行pod update才會變更橘沥,執(zhí)行pod install不會改變,不能把profile.lock添加到.gitigonre中夯秃。

2)為自己項(xiàng)目創(chuàng)建podspec文件

參考:兩篇博文:《如何編寫一個(gè)CocoaPods的spec文件》(http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/)和《cocoapods入門》(http://studentdeng.github.io/blog/2013/09/13/cocoapods-tutorial/)

3)使用私有的pods,不更新podspec

2.網(wǎng)絡(luò)封包分的截取和分析工具Charles

方便開發(fā)中截取調(diào)試網(wǎng)絡(luò)請求內(nèi)容座咆,分析封包協(xié)議痢艺,以及模擬慢網(wǎng)速等。

官方網(wǎng)址:http://www.charlesproxy.com

1)可以模擬慢網(wǎng)速

2)截取SSL信息

3)修改網(wǎng)絡(luò)請求內(nèi)容

4)修改服務(wù)器返回內(nèi)容

5)Map功能 Map Remote網(wǎng)絡(luò)請求重新定義到另一個(gè)網(wǎng)址介陶,Map Local網(wǎng)絡(luò)請求重新定義到本地文件堤舒。

6)Rewrite對網(wǎng)絡(luò)請求的結(jié)果進(jìn)行改變

7)Breakpoints功能

3.Reveal

開發(fā)時(shí)可以動(dòng)態(tài)的查看和修改程序的界面,可以連接真機(jī)和模擬器

PonyDebugger和Spark Inspector也是同沒醒的界面調(diào)試工具哺呜,PonyDebugger開源并且免費(fèi)舌缤,Reveal和Spark Inspector是收費(fèi)的,不過功能更強(qiáng)大些

4.移動(dòng)統(tǒng)計(jì)工具Flurry

https://github.com/tangqiaoboy/FlurryUsageSample

1)每天登錄用戶數(shù)某残,應(yīng)用使用次數(shù)国撵;

2)使用iOS系統(tǒng)各版本(例如iOS6.0,iOS7.0等)比例。

3)使用iOS各種設(shè)備(例如iphone4,iphone5等)比例玻墅。

4)crashlog統(tǒng)計(jì)

5.崩潰日志記錄工具Crashlytics

專門為移動(dòng)應(yīng)用開發(fā)者提供的保存和分析應(yīng)用崩潰信息的專業(yè)工具介牙。

6.App Store統(tǒng)計(jì)工具App Annie

App Store數(shù)據(jù)的統(tǒng)計(jì)分析工具,該工具可以統(tǒng)計(jì)App在App Store的下載量澳厢,排名變化环础,銷售收入情況及用戶評價(jià)等信息。

7.Xcode插件

1)Alcatraz管理Xcode插件,http://blog.csdn.net/xiaoliuxingzi/article/details/46889429剩拢。

2)KSimageNamed ?彈出圖片

3)XVim 編輯窗口打開Vim Ctrl+W來切換當(dāng)前編輯的分欄

4)FuzzyAutocompletePlugin 使用模糊的方式自動(dòng)補(bǔ)全代碼

5)XToDo 提供一個(gè)匯總的界面线得,集中顯示所有的未完成的TODO和FIXME標(biāo)記

6)BBUDebuggerTuckAway 編輯代碼的時(shí)候自動(dòng)隱藏底部的調(diào)試窗口

7)SCXcodeswitchExpander 迅速的在switch語句中填充枚舉類型的每種可能的取值

8)deriveddata-exterminator清除Xcode緩存目錄的插件

9)VVDocumenter自動(dòng)生成代碼注釋的工具

10)ClangFormat自動(dòng)調(diào)整代碼風(fēng)格的工具

11)ColorSense實(shí)時(shí)預(yù)覽相應(yīng)的顏色

12)XcodeBoost 包含多個(gè)輔助修改小代碼的功能

9.其它工具介紹

1)取色工具,數(shù)碼測色計(jì)(DigitalColor Meter),蘋果自帶的類似有xScope

2)圖形工具ImageOptim免費(fèi)圖像壓縮工具,iOS工程默認(rèn)使用pngcrush來壓縮圖片徐伐,效率不高贯钩,

3)馬克鰻 免費(fèi)標(biāo)注工具,可以方便地在輸出的美術(shù)設(shè)計(jì)稿上標(biāo)注相應(yīng)界面元素的大小呵晨,顏色魏保,邊距熬尺,說明等摸屠。

4)Dash 快速查看API文檔和代碼片段管理工具。

5)蒲公英粱哼,內(nèi)測分發(fā)工具類似于TestFlight.

6)命令行工具季二,nomad方便操作蘋果開發(fā)者中心的命令行工具,添加測試設(shè)備揭措,更新證書胯舷,增加AppID,驗(yàn)證IAP的憑證。

7)xctool 可在github上下載绊含,開源的iOS編譯和測試的工具桑嘶,可方便進(jìn)行編輯和單元測試,將測試的結(jié)果集成到Jenkins中躬充,實(shí)現(xiàn)自動(dòng)化集成逃顶,蘋果在OSX Server上推出自動(dòng)化集成BOT讨便,效果不是很好。

8)appledoc是一個(gè)從源代碼中抽取文檔的工具以政,可從iOS工程的源代碼中抽取相應(yīng)的注釋霸褒,生成幫助文檔。

(四)有用的技術(shù)

1.內(nèi)存管理盈蛮,引用計(jì)數(shù)废菱。

Xcode檢測循環(huán)引用,使用Xcode的菜單欄選擇Product - Profile - Leaks,在單擊右下角的Profile按鈕開始檢測,在Instruments會檢測到這次的循環(huán)引用抖誉,Instruments中會用一條紅色的線條來表示一次內(nèi)存泄露的產(chǎn)生殊轴,切換到Leaks這一欄,點(diǎn)擊Cycles&Roots,就可以看到以圖形的方式顯示出來的循環(huán)引用袒炉,這樣我們就可以非常方便地找到循環(huán)引用的對象了梳凛。

ARC

需要使用_bridge等關(guān)鍵字

將非ARC的工程轉(zhuǎn)換成ARC,Xcode中使用Edit-Refactor-Convert to Object-c ARC

2.CoreFoundation對象的內(nèi)存管理

底層的內(nèi)存管理XXCreateWithXxx這樣的方式創(chuàng)建,底層的內(nèi)存管理梳杏。

3.GCD

4.UIWindowLevel

UIKIT_EXTERN const UIWindowLevel UIwindowLevelNormal;

切換到用戶的界面的時(shí)候需要輸入密碼韧拒,有隨書的筆記。需要用到UIWindow的情況有應(yīng)用啟動(dòng)頁十性,應(yīng)用內(nèi)通知提醒叛溢,輸入密碼。

5.動(dòng)態(tài)下載系統(tǒng)提供的多種中文字體

蘋果提供啦動(dòng)態(tài)下載代碼的Demo工程:http://developer.apple.com/library/ios/#samplecode/DownloadFont/Listings/DownloadFont_ViewController_m.html

6.使用應(yīng)用內(nèi)支付

1)配置后臺

2)配置iTunes Connect

3)iOS端的開發(fā)

4)服務(wù)器端開發(fā)

5)蘋果審核應(yīng)用時(shí)劲适,只會在沙盒(sandbox)環(huán)境購買楷掉,其產(chǎn)生的購買憑證,也只能連接蘋果的測試驗(yàn)證服務(wù)器霞势,但是審核的應(yīng)用又是連接的我們的線上服務(wù)器烹植,那應(yīng)該怎么處理?

解決辦法是判斷蘋果正式驗(yàn)證服務(wù)器的返回狀態(tài)碼愕贡,如果是21007草雕,則再一次連接測試服務(wù)器進(jìn)行驗(yàn)證即可,蘋果的文檔http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions

7.基于UIWebView的混合編程

1)模板引擎:MGTemplateEngine,也可以使用GRMustache固以,

2)Object-c和JavaScript語言的相互調(diào)用

原生界面發(fā)現(xiàn)以gap請求的地址墩虹,就不進(jìn)行加載,而是執(zhí)行相應(yīng)的調(diào)用邏輯憨琳。這也是Cordova框架調(diào)用的原生邏輯機(jī)制诫钓,

WebViewJavaScriptBridge它能實(shí)現(xiàn)相互調(diào)用

3)CommonJS規(guī)范

4)使用safari進(jìn)行調(diào)試

safari的調(diào)試模式打開,safari-preferences-Advanced 勾選上Show Develop menu in menu bar選項(xiàng)

在Iphone模擬器或者真機(jī)的設(shè)置上把調(diào)試模式打開篙螟,safari-高級-web檢查器

通過USB臉上電腦菌湃,safari的Develop菜單下就會多出相應(yīng)的菜單選項(xiàng)

8.安全性問題

1)安全的傳輸密碼,將密碼加密MD5

2)charles將自己的電腦設(shè)置成代理服務(wù)器遍略,windows環(huán)境下使用Fiddler軟件惧所,

使用get方式發(fā)送密碼很不安全场梆,get的URL數(shù)據(jù)一般都會保存在服務(wù)器的access log中,所以黑客一旦攻擊啦服務(wù)器纯路,只需要掃描access log或油,則可以輕易獲得所有用戶的明文密碼

3)防止通訊協(xié)議被輕易破解

通訊協(xié)議被破解,開發(fā)者可以選擇類似Protobuf驰唬,Goole提供的一個(gè)開源數(shù)據(jù)交換格式顶岸,對于傳輸?shù)膬?nèi)容進(jìn)行一定程度的加密,一增加黑客破解協(xié)議的難度叫编。

4)本地文件和數(shù)據(jù)安全

javaScript的安裝包解壓可以看到源代碼辖佣,要對javaScript進(jìn)行混淆和加密,防止被篡改搓逾。

本地?cái)?shù)據(jù)應(yīng)該加密存儲或者將其保存到keychain中卷谈,以保證其不被篡改。

5)通過file,class-dump,theos,otool等工具霞篡,黑客就可以分析編譯之后的二進(jìn)制程序文件世蔗,IDA是一個(gè)收費(fèi)的反匯編工具,可以采取的措施是朗兵,關(guān)鍵邏輯使用純C實(shí)現(xiàn)污淋。

9∮嘁矗基于CoreText排版引擎

CoreText是一個(gè)處理文字和字體的底層技術(shù)寸爆,Quartz是一個(gè)2D圖形渲染引擎。

使用CoreText排版的是盐欺,例如:新浪微博客戶端赁豆,多看閱讀客戶端,猿題庫都是基于CoreText來排版的冗美,用drawRect方法魔种,就是畫圖。

復(fù)雜的排版引擎分為4類

1)一個(gè)是顯示用的類墩衙,僅負(fù)責(zé)顯示內(nèi)容务嫡,不負(fù)責(zé)排版;

2)一個(gè)模型類漆改,用于承載顯示所需要的所有數(shù)據(jù)

3)一個(gè)排版類,用于實(shí)現(xiàn)文字內(nèi)容的排版准谚;

4) 一個(gè)配置類挫剑,用于實(shí)現(xiàn)一些排版時(shí)的可配置項(xiàng)。

分成如下:

1)CTFrameParserConfig類柱衔,用于配置繪制的參數(shù)樊破,例如文字顏色愉棱,大小,行間距等

2)CTFrameParser類哲戚,用于生成最后回執(zhí)界面需要的CTFrameRef;

3) CoreTextData類奔滑,用于保存由CTFrameParser類生成的CTFrameRef實(shí)例,以及CTFrame實(shí)際回執(zhí)需要的高度顺少;

4)CTDisplayView類朋其,持有CoreTextData類的實(shí)例,負(fù)責(zé)將CTFrameRef繪制到界面上

注意:修改CTView的frame信息脆炎,需要把use Autolayout的勾選去掉梅猿。

(五)實(shí)戰(zhàn)技巧

1.撤銷正在審核的應(yīng)用;

點(diǎn)擊Reject this binary

2.申請加急審核

1)點(diǎn)擊Contact us;

2)APP Review;

3)request Expedited review

5) request an expedited app review可加急審核應(yīng)用秒裕。

3.刪除設(shè)備

每年只有一次機(jī)會袱蚓,延續(xù)費(fèi)用之后第一次登錄進(jìn)去,membersship year開始后即可使用几蜻,需要先刪除設(shè)備喇潘,才能新加設(shè)備,一旦開始添加梭稚,刪除不管用响蓉。給蘋果發(fā)郵件,http://developer.apple.com/contact/點(diǎn)擊"program benefits"按鈕提交哨毁,

4)把應(yīng)用下架

應(yīng)用上架時(shí)間改變

5)收鍵盤

[self.view endEditing:YES];

[[UIApplication sharedApplication]sendAction:@selector(resignFirstResponder) to:nil for:nil forEvent:nil];

[[UIApplication sharedApplication]endEditing:YES];

6.NSJSONSerialization比NSKeyedArchiver更好在選擇持久化方案枫甲,快啦7倍

7.修改長按后的中文變英文問題:

用vim打開info.plist,在文件中增加CFBundleLocalizations zh_CN en

8.調(diào)用系統(tǒng)方法實(shí)現(xiàn)截屏,實(shí)現(xiàn)半透明效果

9.內(nèi)存優(yōu)化CABackingStore,volatile表示扼褪,這塊內(nèi)存可能再次被原變量使用想幻。

10類方法的block不會產(chǎn)生循環(huán)引用問題。

11Xcode的快捷鍵话浇,Behaviors 設(shè)置各種行為發(fā)生界面應(yīng)該做何種改變脏毯。

12,JavaScript文件設(shè)置調(diào)整

js后綴的文件默認(rèn)被拖動(dòng)到工程中后幔崖,是在編譯列表食店,而不是在資源列表。需要手工調(diào)整其位置赏寇,否則就不能導(dǎo)報(bào)到ipa文件中吉嫩,js不需要編譯,需要手工將這個(gè)js文件從compile Source移動(dòng)到copy Bundle Resources.

13.清除DerivedData

緩存路徑 ~/Library/Developer/Xcode/DerivedData

工程進(jìn)行g(shù)it merge 或者git rebase的時(shí)候造成緩存異常嗅定。清除緩存后重啟Xcode就可以啦

14.target信息異常

編譯target異常的時(shí)候自娩,可刪除UourProjectName.xcodeproj/xcuserdata目錄,該目錄下有當(dāng)前用戶的各種工程狀態(tài)信息渠退,刪除后重啟Xcode,信息會自動(dòng)重建忙迁。

15.下載Xcode https://developer.apple.com/downloads/index.action

16.調(diào)劑技巧

1)Opt+Shift可以調(diào)出雙指拖動(dòng)效果

2)Opt 可以在模擬器中調(diào)出雙指放大和縮小效果

3)Shift + cmd + H到Home鍵

4)Cmd + Left/Right 切換橫豎屏

17.xib刪除后脐彩,并不會立馬刪除,需要?jiǎng)h除應(yīng)用后重新啟動(dòng)姊扔。

18.圖片可以直接從Finder拖到模擬器中

19.真機(jī)模擬慢網(wǎng)速 :設(shè)置-開發(fā)者-Status-Network Link Conditioner 中惠奸,如果在真機(jī)中沒有找到,在電腦的Xcode的Origanizer將其設(shè)置成測試設(shè)備

20.ipa文件格式

把ipa文件名的后綴改成zip恰梢,然后雙擊及可解壓打開佛南,解壓后再程序的Payload目錄下,是一個(gè)app后綴的文件夾删豺,在該文件上單擊右鍵選擇show Package Contents 即可看到所有的程序資源文件共虑。

21.查看ipa的圖片

用命令來解壓圖片pngcrush -revert -iphone -optimizations 源文件名 目的文件名

22.為項(xiàng)目增加Daily Build

1)保證每天提交代碼的可用性

2)進(jìn)度跟進(jìn),產(chǎn)品可以跟進(jìn)進(jìn)度呀页,產(chǎn)品經(jīng)理更多時(shí)間來調(diào)整他的設(shè)計(jì)妈拌。

3)確認(rèn)需求,產(chǎn)品經(jīng)理可以盡早確認(rèn)開發(fā)的功能細(xì)節(jié)是否符合預(yù)期蓬蝶。

4)測試跟進(jìn)尘分,測試人員可以盡早進(jìn)行測試。

Xcode提供啦build命令丸氛,用xcodebuild -usage可以查看到所有的可用參數(shù)培愁。

在Daily Build中,把Release用為Configuration其實(shí)不是很好缓窜。因?yàn)镽elease證書可能經(jīng)常會被修改定续。我們可以基于Release的Configuration。在Info一欄禾锤,在Configuration一欄的下方點(diǎn)擊+,然后選擇Duplicate Release Configuration私股,新建名為DailyBuild的Configuration.

用xcodebuild -configuration DailyBuild -target "YourProduct"

在bulid里面就會出現(xiàn)一個(gè).app文件啦。這個(gè)就是build成功之后的程序文件恩掷。

23.生成安裝包

使用item-services協(xié)議來直接在iphone/ipad上安裝應(yīng)用程序倡鲸。

24。找不到開發(fā)證書黄娘。

把開發(fā)者證書從登陸拖動(dòng)到系統(tǒng)欄中

25.可安裝腳本自動(dòng)執(zhí)行Daily build 峭状,可以參考自動(dòng)打包腳本ios-makefile 網(wǎng)址https://github.com/lexrus/ios-makefile。

26.用腳本自動(dòng)生成小尺寸的圖片

1)第三方軟件XnConvert

2)安裝imagemagick,先用brew install ?imagemagick

27.檢查圖片尺寸是否都是偶數(shù)

28.代碼片段管理

通過快捷鍵Cmd + Ctrl+Opt + 2調(diào)出來逼争。

29.定義自己的代碼片段

1)使用git管理代碼片段优床,將自己整理的代碼片段都放到Git上,

(六)底層原理

1.isa指針

2.Ruby語言

3.系統(tǒng)相關(guān)的API及應(yīng)用

1)isa swizzling的應(yīng)用

系統(tǒng)提供的KVO的實(shí)現(xiàn)氮凝,就利用啦動(dòng)態(tài)地修改isa指針的值的技術(shù)羔巢。

2)Method Swizzling API說明

特定版本有問題的系統(tǒng)庫函數(shù)打了Patch.

3)Nimbus工具類庫

4)大眾點(diǎn)評,自己開發(fā)的基于Wax修改而來的WaxPatch罩阵,可以實(shí)現(xiàn)通過服務(wù)器更新來動(dòng)態(tài)修改客戶端的邏輯竿秆,WaxPatch主要是修改了Wax中的wax_instance.m文件在其中加入了class_replaceMethod來替換原始實(shí)現(xiàn),從而修改客戶端的原有行為稿壁。

4.Tagged Pointer對象

32位升級到64位幽钢,為了改進(jìn)上面提到的內(nèi)存占用和效率的問題,蘋果提出Tagged Pointer對象傅是,WWDC2013年的視頻有介紹匪燕,

5.64位下的指針優(yōu)化

32位環(huán)境下,對象的引用計(jì)數(shù)都保存在一個(gè)外部的表中喧笔,每一個(gè)對象的Retain操作帽驯,實(shí)際上都包括如下5個(gè)步驟

1)獲得全局的記錄引用計(jì)數(shù)的hash表

2)為了線程安全,給該hash表加鎖

3)查找到目標(biāo)對象的引用計(jì)數(shù)值

4)將該引用計(jì)數(shù)值+1书闸,寫會hash表

5)給該hash表解鎖

參考文獻(xiàn):https://mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html

6.block對象模型

1)Block內(nèi)部數(shù)據(jù)結(jié)構(gòu)定義

https://llvm.org/svn/llvm-project/compiler-rt/tags/Apple/Libcompiler_rt-10/BlocksRuntime/Block_private.h

6層

1))isa指針尼变,實(shí)現(xiàn)對象相關(guān)功能

flags,用于按bit位表示一些block的附加信息浆劲,

reserved,保留變量

invoke,指向具體的block實(shí)現(xiàn)的函數(shù)調(diào)用地址

descriptor嫌术,表示該block的附加描述信息,主要是size,copy,dispose函數(shù)的指針

variables,capture過來的變量牌借,block能訪問它外部的局部變量度气,就是因?yàn)閷⑦@些變量(或變量的地址)復(fù)制到了結(jié)構(gòu)體中

2)3種類型的Block

全局的靜態(tài)block,不會訪問任何外部變量;保存在棧中的block膨报,當(dāng)函數(shù)返回時(shí)會被銷毀磷籍;保存在堆中的block,當(dāng)引用計(jì)數(shù)為0時(shí)會被銷毀现柠。

3)用clang分析block實(shí)現(xiàn)

用clang工具可以將object-c 的源代碼改寫成c語言院领,clang -rewrite -objc block.c

7.參考文獻(xiàn)

1)https://llvm.org/svn/llvm-project/

2)http://www.galloway.me.uk/2012/10/a-look-inside-blocks-episode-1/

3)http://rypress.com/tutorials/objective-c/blocks

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市晒旅,隨后出現(xiàn)的幾起案子栅盲,更是在濱河造成了極大的恐慌,老刑警劉巖废恋,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谈秫,死亡現(xiàn)場離奇詭異,居然都是意外死亡鱼鼓,警方通過查閱死者的電腦和手機(jī)拟烫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迄本,“玉大人硕淑,你說我怎么就攤上這事。” “怎么了置媳?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵于樟,是天一觀的道長。 經(jīng)常有香客問我拇囊,道長迂曲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任寥袭,我火速辦了婚禮路捧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘传黄。我一直安慰自己杰扫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布膘掰。 她就那樣靜靜地躺著章姓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炭序。 梳的紋絲不亂的頭發(fā)上啤覆,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音惭聂,去河邊找鬼窗声。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辜纲,可吹牛的內(nèi)容都是我干的笨觅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼耕腾,長吁一口氣:“原來是場噩夢啊……” “哼见剩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扫俺,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤苍苞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后狼纬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羹呵,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年疗琉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冈欢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盈简,死狀恐怖凑耻,靈堂內(nèi)的尸體忽然破棺而出太示,到底是詐尸還是另有隱情,我是刑警寧澤香浩,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布类缤,位于F島的核電站,受9級特大地震影響弃衍,放射性物質(zhì)發(fā)生泄漏呀非。R本人自食惡果不足惜坚俗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一镜盯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猖败,春花似錦速缆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至幢尚,卻和暖如春破停,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背尉剩。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工真慢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人理茎。 一個(gè)月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓黑界,卻偏偏與公主長得像,于是被迫代替她去往敵國和親皂林。 傳聞我的和親對象是個(gè)殘疾皇子朗鸠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

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