iOS瑣碎總結(jié)

1.為什么代理要用weak慰枕?代理的delegate和dataSource有什么區(qū)別?block和代理的區(qū)別?

A:為了避免循環(huán)引用。weak指明該對象并不負(fù)責(zé)保持delegate這個對象,delegate這個對象的銷毀由外部控制以政。strong該對象強引用delegate,外界不能銷毀delegate對象伴找,會導(dǎo)致循環(huán)引用盈蛮。DataSource是關(guān)于View的內(nèi)容的東西包括屬性,數(shù)據(jù)等等技矮,而Delegate則是一些我們可以調(diào)用的方法抖誉,全是操作殊轴。block和代理都能解決對象間交互的問題,block更輕型寸五,更簡單,能夠直接訪問上下文耿币,代碼通常在同一個地方梳杏,這樣讀代碼也連貫。缺點是容易引起循環(huán)引用淹接。delegate更重一些十性,需要實現(xiàn)接口,它的方法分開來塑悼,很多時候需要存儲一些臨時數(shù)據(jù)劲适,另外相關(guān)的代碼需要分離到各處沒有block好讀,其優(yōu)點就是它是用weak關(guān)鍵字修飾的厢蒜,不會引起循環(huán)引用霞势。

2.屬性的實質(zhì)是什么?包括哪幾個部分斑鸦?屬性默認(rèn)的關(guān)鍵字都有哪些愕贡?@dynamic關(guān)鍵字和@synthesize關(guān)鍵字是用來做什么的?

A:屬性的本質(zhì)是@property = ivar+getter+setter,也就是說@property系統(tǒng)會自動生成getter和setter方法巷屿。屬性默認(rèn)的關(guān)鍵字包括atomic固以,nonatomic,@synthesize嘱巾,@dynamic憨琳,getter=getterName,setter=setterName旬昭,readwrite篙螟,readonly,assign问拘,retain闲擦,copy。
@dynamic:表示變量對應(yīng)的屬性訪問器方法场梆,是動態(tài)實現(xiàn)的墅冷,你需要在 NSObject 中繼承而來的 +(BOOL) resolveInstanceMethod:(SEL) sel 方法中指定 動態(tài)實現(xiàn)的方法或者函數(shù)。
@synthesize:如果沒有實現(xiàn)setter和getter或油,編譯器能夠自動實現(xiàn)getter和setter方法寞忿。

3.NSString為什么要用copy關(guān)鍵字,如果用strong會有什么問題顶岸?(注意:這里沒有說用strong就一定不行腔彰。使用copy和strong是看情況而定的)

A:針對于當(dāng)把NSMutableString賦值給NSString的時候叫编,才會有不同,用copy的話NSString的值不會發(fā)生變化霹抛,用strong則會發(fā)生變化搓逾,隨著NSMutableString的值變化。如果是賦值是NSString對象杯拐,那么使用copy還是strong霞篡,結(jié)果都是一樣的,因為NSString對象根本就不能改變自身的值端逼,他是不可變的朗兵。

4.如何令自己所寫的對象具有拷貝功能?

A:若想讓自己寫的對象具有拷貝功能,則需要實現(xiàn)NSCopying協(xié)議顶滩。如果自定義的對象分為可變版本和非可變版本余掖,那么就要同時實現(xiàn)NSCopying和NSMutableCopying協(xié)議,不過一般沒什么必要礁鲁,實現(xiàn)NSCopying協(xié)議就夠了盐欺。

5.可變集合類 和 不可變集合類的 copy 和 mutablecopy有什么區(qū)別?如果是集合是內(nèi)容復(fù)制的話仅醇,集合里面的元素也是內(nèi)容復(fù)制么找田?

A:對于不可變對象,copy操作是淺復(fù)制着憨,mutableCopy是深復(fù)制墩衙。對于不可變對象,mutableCopy不僅僅是深復(fù)制甲抖,返回的對象類型還是不可變對象類型相應(yīng)的可變對象的類型漆改。內(nèi)容復(fù)制也就是深拷貝,集合的深復(fù)制有兩個方法准谚,可以用initWithArray:copyItems:將第二個參數(shù)設(shè)置為YES即可進(jìn)行深復(fù)制挫剑,如:NSDictionary *shallowCopyDict = [NSDictionary alloc]initWithDictionary:someDictionary copyItems:YES];如果用這個方法深復(fù)制,集合里的每個元素都會收到copyWithZone:消息柱衔。如果集合里的對象遵循NSCopying協(xié)議樊破,那么對象就會深復(fù)制到新的集合。如果對象沒有遵循NSCopying協(xié)議唆铐,而嘗試用這種方法進(jìn)行深復(fù)制則會出錯哲戚。copyWithZone:這種拷貝方式只能提供一層內(nèi)存拷貝,而非真正的深拷貝艾岂。第二種方法是將集合進(jìn)行歸檔解檔顺少,如:NSArray *trueDeepCopyArray = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:oldArray]];

6.為什么IBOutlet修飾的UIView也適用weak關(guān)鍵字?

A:因為既然有外鏈那么視圖在xib或者storyboard中肯定存在,視圖已經(jīng)對它有一個強引用了脆炎。

7. nonatomic和atomic的區(qū)別梅猿?atomic是絕對的線程安全么?為什么秒裕?如果不是袱蚓,那應(yīng)該如何實現(xiàn)?

A:nonatomic和atomic的區(qū)別在于兩者自動生成getter和setter的方法不一樣几蜻,如果你自己寫getter和setter方法喇潘,那么(getter,setter入蛆,retain响蓉,copy硕勿,assign)只起提示作用哨毁,寫不寫都一樣。
對于atomic的屬性源武,系統(tǒng)生成的getter和setter會保證get扼褪,set的操作完整性,不受其他線程影響粱栖。比如線程A的getter方法運行到一半话浇,線程B調(diào)用了setter,那么線程A的getter還是能得到一個完整的對象闹究。
而nonatomic就沒有這個保證了幔崖,所以速度要比atomic快。
不過atomic可不能保證線程安全渣淤,如果線程A調(diào)用了getter赏寇,與此同時線程B和線程C都調(diào)了setter,那最后線程Aget到的值价认,三種都有可能:可能是B嗅定,C set之前原始的值,也可能是B set的值用踩,也可能是C set的值渠退。同時這個最終的值,也可能是B set的值脐彩,也可能是C set的值碎乃。要保證安全,可以使用線程鎖惠奸。

8.UICollectionView自定義layout如何實現(xiàn)荠锭?

A:UICollectionViewLayoutAttributes,UICollectionViewFlowLayout晨川。

9.用StoryBoard開發(fā)界面有什么弊端证九?如何避免删豺?

A:難以維護(hù),如果需要改動全局的一個字體愧怜,如果是代碼的話就很好辦呀页,pch或頭文件中改動就好了。如果是storyboard中就需要一個一個改動很麻煩拥坛。
如果storyboard中scene太多蓬蝶,打開storyboard會比較慢。
錯誤定位比較困難猜惋,好多錯誤提示模棱兩可丸氛。

10.進(jìn)程和線程的區(qū)別?同步異步的區(qū)別著摔?并行和并發(fā)的區(qū)別缓窜?

A:進(jìn)程是一個內(nèi)存中運行的應(yīng)用程序,比如在Windows系統(tǒng)中谍咆,一個運行的exe就是一個進(jìn)程禾锤。
線程是指進(jìn)程中的一個執(zhí)行流程。
同步是順序執(zhí)行摹察,執(zhí)行完一個再執(zhí)行下一個恩掷。需要等待,協(xié)調(diào)運行供嚎。
異步就是彼此獨立黄娘,在等待某事件的過程中繼續(xù)做自己的事,不需要等待這些事件完成后再工作克滴。
并行和并發(fā) 是前者相當(dāng)于三個人同時吃一個饅頭逼争,后者相當(dāng)于一個人同時吃三個饅頭。
并發(fā)性(Concurrence):指兩個或兩個以上的事件或活動在同一時間間隔內(nèi)發(fā)生偿曙。并發(fā)的實質(zhì)是一個物理CPU(也可以多個物理CPU) 在若干道程序之間多路復(fù)用氮凝,并發(fā)性是對有限物理資源強制行使多用戶共享以提高效率。
并行性(parallelism)指兩個或兩個以上事件或活動在同一時刻發(fā)生望忆。在多道程序環(huán)境下罩阵,并行性使多個程序同一時刻可在不同CPU上同時執(zhí)行。
區(qū)別:(并發(fā))一個處理器同時處理多個任務(wù)和(并行)多個處理器或者是多核的處理器同時處理多個不同的任務(wù)启摄。

11.線程間通信稿壁?

A:NSThread、GCD歉备、NSOperation傅是。

12.GCD的一些常用的函數(shù)?(group,barrier喧笔,信號量帽驯,線程同步)

A:1.延遲執(zhí)行任務(wù)函數(shù):dispatch_after(.....)。
2.一次性執(zhí)行dispatch_once(...)书闸。
3.柵欄函數(shù)dispatch_barrier_async/dispatch_barrier_sync尼变。
4.隊列組的使用dispatch_group_t。
5.GCD定時器浆劲。

13.如何使用隊列來避免資源搶奪嫌术?

A:dispatch_barrior_async 作用是在并行隊列中,等待前面兩個操作并行操作完成牌借。

14.數(shù)據(jù)持久化的幾個方案(fmdb用沒用過)

A:Coredata度气,realm,fmdb膨报。

15.說一下AppDelegate的幾個方法磷籍?從后臺到前臺調(diào)用了哪些方法?第一次啟動調(diào)用了哪些方法丙躏?從前臺到后臺調(diào)用了哪些方法择示?

A:
1.當(dāng)程序第一次運行并且將要顯示窗口的時候執(zhí)行束凑,在該方法中我們完成的操作

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

2.程序進(jìn)入后臺的時候首先執(zhí)行程序?qū)⒁∠钴S該方法

- (void)applicationWillResignActive:(UIApplication *)application

3.該方法當(dāng)應(yīng)用程序進(jìn)入后臺的時候調(diào)用

- (void)applicationDidEnterBackground:(UIApplication *)application

4.當(dāng)程序進(jìn)入將要前臺的時候調(diào)用

- (void)applicationWillEnterForeground:(UIApplication *)application

5.應(yīng)用程序已經(jīng)變得活躍(應(yīng)用程序的運行狀態(tài))

 - (void)applicationDidBecomeActive:(UIApplication *)application

6.當(dāng)程序?qū)⒁顺龅臅r候調(diào)用晒旅,如果應(yīng)用程序支持后臺運行,該方法被applicationDidEnterBackground:替換

- (void)applicationWillTerminate:(UIApplication *)application

16.NSCache優(yōu)于NSDictionary的幾點汪诉?

A:NSCache 是一個容器類废恋,類似于NSDIctionary,通過key-value 形式存儲和查詢值,用于臨時存儲對象扒寄。
注意一點它和NSDictionary區(qū)別就是鱼鼓,NSCache 中的key不必實現(xiàn)copy,NSDictionary中的key必須實現(xiàn)copy该编。
NSCache中存儲的對象也不必實現(xiàn)NSCoding協(xié)議迄本,因為畢竟是臨時存儲,類似于內(nèi)存緩存课竣,程序退出后就被釋放了嘉赎。

17.知不知道Designated Initializer(指定初始化函數(shù))?使用它的時候有什么需要注意的問題于樟?

A:比如:

- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;  

18.實現(xiàn)description方法能取到什么效果公条?

A:1.NSLog(@"%@", objectA);這會自動調(diào)用objectA的description方法來輸出ObjectA的描述信息.
2.description方法默認(rèn)返回對象的描述信息(默認(rèn)實現(xiàn)是返回類名和對象的內(nèi)存地址)
3.description方法是基類NSObject 所帶的方法,因為其默認(rèn)實現(xiàn)是返回類名和對象的內(nèi)存地址, 這樣的話,使用NSLog輸出OC對象,意義就不是很大,因為我們并不關(guān)心對象的內(nèi)存地址,比較關(guān)心的是對象內(nèi)部的一些成變量的值。因此,會經(jīng)常重寫description方法,覆蓋description方法的默認(rèn)實現(xiàn)迂曲。

19.objc使用什么機制管理對象內(nèi)存靶橱?

A:通過 retainCount 的機制來決定對象是否需要釋放。 每次 runloop 的時候,都會檢查對象的 retainCount关霸,如果retainCount 為 0传黄,說明該對象沒有地方需要繼續(xù)使用了,可以釋放掉了队寇。

20.block的實質(zhì)是什么尝江?一共有幾種block?都是什么情況下生成的英上?

A:block對象就是一個結(jié)構(gòu)體炭序,里面有isa指針指向自己的類(global malloc stack),有desc結(jié)構(gòu)體描述block的信息苍日,__forwarding指向自己或堆上自己的地址惭聂,如果block對象截獲變量,這些變量也會出現(xiàn)在block結(jié)構(gòu)體中相恃。最重要的block結(jié)構(gòu)體有一個函數(shù)指針辜纲,指向block代碼塊。block結(jié)構(gòu)體的構(gòu)造函數(shù)的參數(shù)拦耐,包括函數(shù)指針耕腾,描述block的結(jié)構(gòu)體,自動截獲的變量(全局變量不用截獲)杀糯,引用到的__block變量扫俺。(__block對象也會轉(zhuǎn)變成結(jié)構(gòu)體)
block代碼塊在編譯的時候會生成一個函數(shù),函數(shù)第一個參數(shù)是前面說到的block對象結(jié)構(gòu)體指針固翰。執(zhí)行block狼纬,相當(dāng)于執(zhí)行block里面__forwarding里面的函數(shù)指針。
block一共有三種骂际,分別是Globle全局block疗琉,棧block,堆block歉铝。

21.static inline 是什么盈简?

A:static inline內(nèi)聯(lián)函數(shù):使用它可以減少函數(shù)運行時間,提高程序運行速度太示。但內(nèi)聯(lián)函數(shù)里不能寫循環(huán)柠贤,開關(guān)語句,而且最好不寫過于冗長的函數(shù)先匪。

22.屬性的默認(rèn)關(guān)鍵字是什么种吸?

A:在聲明property時,如果不指定關(guān)鍵字呀非,編譯器會為property生成默認(rèn)的關(guān)鍵字坚俗。
對應(yīng)基本數(shù)據(jù)類型镜盯,默認(rèn)關(guān)鍵字為atomic,assign猖败,readwrite速缆。
對應(yīng)對象類型,默認(rèn)關(guān)鍵字為atomic恩闻,strong艺糜,readwrite。

23.為什么在默認(rèn)情況下無法修改被block捕獲的變量幢尚?__block都做了什么破停?

A:在block中訪問的外部變量是復(fù)制過去的,寫操作不對原變量生效尉剩。

24.模擬一下循環(huán)引用的一個情況真慢?block實現(xiàn)界面反向傳值該怎么做?

A:兩個.h文件互相import了對方造成循環(huán)引用理茎。block先聲明(在要傳值的controller里聲明
typedef void(^MyBlock)(NSString *name);//block的重命名
@property (nonatomic,copy) MyBlock block;//block的聲明)黑界,在準(zhǔn)備接收值的頁面里實現(xiàn)block,
secondVC.block = ^void(NSString *name)
{
_label.text = name;
};皂林,誰要傳值就在誰那里調(diào)用self.block(@"lalala");朗鸠。

25.iOS事件傳遞響應(yīng)鏈?zhǔn)鞘裁矗?/h1>

A:當(dāng)我們在使用微信等工具,點擊掃一掃础倍,就能打開二維碼掃描視圖烛占。在我們點擊屏幕的時候,iphone OS獲取到了用戶進(jìn)行了“單擊”這一行為著隆,操作系統(tǒng)把包含這些點擊事件的信息包裝成UITouch和UIEvent形式的實例扰楼,然后找到當(dāng)前運行的程序呀癣,逐級尋找能夠響應(yīng)這個事件的對象美浦,直到?jīng)]有響應(yīng)者響應(yīng)。這一尋找的過程项栏,被稱作事件的響應(yīng)鏈浦辨。
不同的響應(yīng)者以鏈?zhǔn)椒绞綄ふ遥珹ppDelegate->UIApplication->UIWindow->UIViewController->UIView->UIButton沼沈。

26.利用kvo數(shù)據(jù)綁定流酬,在mvvm模式中,數(shù)據(jù)綁定被用的很廣泛列另,能夠動態(tài)的根據(jù)數(shù)據(jù)改變刷新UI芽腾。

27.多線程鎖

28.strong,weak页衙,assign的區(qū)別

29.類和結(jié)構(gòu)體的區(qū)別

30.怎么oc與swift混編摊滔?

31.mrc與arc混編阴绢?

32.http與tcp的區(qū)別?

A:TCP連接:手機能夠使用聯(lián)網(wǎng)功能是因為手機底層實現(xiàn)了TCP/IP協(xié)議艰躺,可以使手機通過無線網(wǎng)絡(luò)建立TCP連接呻袭。TCP協(xié)議可以對上層網(wǎng)絡(luò)提供接口,使上層網(wǎng)絡(luò)數(shù)據(jù)的傳輸建立在“無差別”的網(wǎng)絡(luò)上腺兴。
建立起一個TCP連接需要經(jīng)過“三次握手”:
第一次握手:客戶端發(fā)送syn包(syn=j)到服務(wù)器左电,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)页响;
第二次握手:服務(wù)器收到syn包篓足,必須確認(rèn)客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k)闰蚕,即SYN+ACK包纷纫,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包陪腌,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1)辱魁,此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài)诗鸭,完成三次握手染簇。
握手過程中傳送的包里不包含數(shù)據(jù),三次握手完畢后强岸,客戶端和服務(wù)器才正式開始傳送數(shù)據(jù)锻弓。理想狀態(tài)下,TCP連接一旦建立蝌箍,在通信雙方中的任何一方主動關(guān)閉連接之前青灼,TCP連接都將一直被保持下去。斷開連接時服務(wù)器和客戶端均可主動發(fā)起斷開TCP連接的請求妓盲,斷開過程需要經(jīng)過“四次握手”杂拨。
HTTP連接:HTTP協(xié)議即超文本傳送協(xié)議,是Web聯(lián)網(wǎng)的基礎(chǔ)悯衬,也是手機聯(lián)網(wǎng)常用的協(xié)議之一弹沽,HTTP協(xié)議是建立在TCP協(xié)議的一種應(yīng)用。
HTTP連接最顯著的特點是客戶端發(fā)送的每次請求都需要服務(wù)器回送響應(yīng)筋粗,在請求結(jié)束后策橘,會主動釋放連接。從建立連接到關(guān)閉連接的過程稱為“一次連接”娜亿。
1.在HTTP 1.0中丽已,客戶端的每次請求都要求建立一次單獨的連接,在處理完本次請求后买决,會自動釋放連接沛婴。
2.在HTTP 1.1中則可以在一次連接中處理多個請求辰斋,并且多個請求可以重疊進(jìn)行,不需要等待一個請求結(jié)束后再發(fā)送下一個請求瘸味。
由于HTTP在每次請求結(jié)束后都會主動釋放連接宫仗,因此HTTP連接是一種短連接,要保持客戶端程序的在線狀態(tài)旁仿,需要不斷地向服務(wù)器發(fā)起連接請求藕夫。通常的做法是即時不需要獲得任何數(shù)據(jù),客戶端也保持每隔一段固定的時間向服務(wù)器發(fā)送一次“保持連接”的請求枯冈,服務(wù)器在收到該請求后對客戶端進(jìn)行回復(fù)毅贮,表明知道客戶端“在線”。若服務(wù)器長時間無法收到客戶端的請求尘奏,則認(rèn)為客戶端“下線”滩褥,若客戶端長時間無法收到服務(wù)器的回復(fù),則認(rèn)為網(wǎng)絡(luò)已經(jīng)斷開炫加。

33.進(jìn)程間常用通信方式有哪些瑰煎?

A:1.URL Scheme
2.Keychain
3.UIPasteboard
4.UIDocumentInteractionController
5.Local socket
6.AirDrop
7.UIActivityViewController
8.App Groups

34.oc中對象是一個結(jié)構(gòu)體。

35.多態(tài):類的一種特性俗孝。子類重寫父類方法酒甸。

36.

分享也是個學(xué)習(xí)的過程,以上內(nèi)容多為網(wǎng)絡(luò)收集而來赋铝,如有問題還請指正插勤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市革骨,隨后出現(xiàn)的幾起案子农尖,更是在濱河造成了極大的恐慌区匠,老刑警劉巖雏亚,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辛蚊,居然都是意外死亡臂外,警方通過查閱死者的電腦和手機窟扑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漏健,“玉大人,你說我怎么就攤上這事橘霎∧杞” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵姐叁,是天一觀的道長瓦盛。 經(jīng)常有香客問我洗显,道長,這世上最難降的妖魔是什么原环? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任挠唆,我火速辦了婚禮,結(jié)果婚禮上嘱吗,老公的妹妹穿的比我還像新娘玄组。我一直安慰自己,他們只是感情好谒麦,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布俄讹。 她就那樣靜靜地躺著,像睡著了一般绕德。 火紅的嫁衣襯著肌膚如雪患膛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天耻蛇,我揣著相機與錄音踪蹬,去河邊找鬼。 笑死臣咖,一個胖子當(dāng)著我的面吹牛延曙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亡哄,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼枝缔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蚊惯?” 一聲冷哼從身側(cè)響起愿卸,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎截型,沒想到半個月后趴荸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡宦焦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年发钝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片波闹。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡酝豪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出精堕,到底是詐尸還是另有隱情孵淘,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布歹篓,位于F島的核電站瘫证,受9級特大地震影響揉阎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜背捌,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一毙籽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毡庆,春花似錦坑赡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至乖坠,卻和暖如春搀突,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熊泵。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工仰迁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顽分。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓徐许,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卒蘸。 傳聞我的和親對象是個殘疾皇子雌隅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

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