蘋果大會(四) —— 2019年6月(二)

版本記錄

版本號 時(shí)間
V1.0 2019.07.04 星期四

前言

每年的WWDC開發(fā)者大會都是科技圈的重大事件驮履,都會得到全世界的關(guān)注鱼辙,前幾年有時(shí)候會熬夜看,今年沒有熬夜看玫镐,我還是看回放吧倒戏,有時(shí)間也就總結(jié)了下,權(quán)當(dāng)整理和了解吧恐似。感興趣的看下面幾篇文章杜跷。
1. 蘋果大會(一) —— 2018年6月(一)
2. 蘋果大會(二) —— 2018年9月(一)
3. 蘋果大會(三) —— 2019年6月(一)

WWDC 2019 Top 10 Videos

首先看下寫作環(huán)境

Swift 5, iOS 13, Xcode 11

有關(guān)最新API的視頻,如ARKit 3矫夷,RealityKit葛闷,SwiftUI,Combine和iPad上的多窗口支持双藕。還有更多的覆蓋工具淑趾,如Catalyst,Xcode 11忧陪,Swift Package Manager扣泊,Accessibility InspectorSimulator近范。有超過100個(gè)會話視頻,你從哪里開始旷赖?

不要害怕顺又! 這里已經(jīng)收集了年度十大視頻列表供觀看。

注意:要在更短的時(shí)間內(nèi)觀看更多視頻等孵,我們建議您從WWDC視頻站點(diǎn)WWDC Videos Site下載視頻稚照,然后使用VLC Media PlayerQuickTime Player1.5x2.0x速度重播它們。

1. Platforms State of the Union – Session 103

Video Link

Platforms State of the Union始終是一個(gè)開始的地方俯萌。它提供了Apple在WWDC剩余會話中涵蓋的許多新功能的概述果录。如果你沒有別的時(shí)間,這是值得關(guān)注的咐熙!

今年的演講重點(diǎn)介紹了三個(gè)方面的變化:

  • 1) Developer Productivity:這里的重大新聞是SwiftUI弱恒,以及SwiftXcode的新支持。

    • SwiftUI是新玩具中最閃亮的棋恼,下面將詳細(xì)介紹返弹。
    • Xcode在支持實(shí)時(shí)開發(fā),實(shí)時(shí)預(yù)覽爪飘,新編輯器布局义起,改進(jìn)文檔,測試計(jì)劃等方面進(jìn)行了重大改進(jìn)。
    • 對Swift的更改為XcodeGitHub Package Registry中的Swift包帶來了ABIModule穩(wěn)定性以及一流的支持。
  • 2) Platforms:除了SwiftUI之外秋冰,每個(gè)平臺上都有大量新功能。

    • macOS Catalina包含Catalyst齐蔽,它簡化了將iPad應(yīng)用程序引入Mac的過程。 Apple還在這個(gè)新版本中將系統(tǒng)volume設(shè)置為只讀床估,將系統(tǒng)提供的位與用戶應(yīng)用程序和數(shù)據(jù)分開含滴,以提高安全性和可靠性。
    • watchOS 6聲明獨(dú)立于phone∏曛希現(xiàn)在可以在沒有配套iOS應(yīng)用程序的情況下為手表構(gòu)建應(yīng)用程序蛙吏。
    • iOS 13帶來了可用性功能,如快速鍵盤和新的UI功能鞋吉,如暗模式鸦做,共享表,卡片谓着,語義顏色泼诱,自適應(yīng)材料和新的符號庫。
    • iPadOS包括新的iPad特有功能赊锚,如改進(jìn)的多任務(wù)處理治筒,窗口場景屉栓,PencilKit和新手勢。
  • 3) Core Technologies:與往常一樣耸袜,今年對每個(gè)平臺上的核心API進(jìn)行了大量改進(jìn)友多。

    • Accessibility:Apple在今年WWDC期間主要關(guān)注Accessibility,以鼓勵開發(fā)人員更多地關(guān)注它堤框。它們使accessibility功能更易于用戶發(fā)現(xiàn)域滥。并且,他們實(shí)現(xiàn)了語音控制蜈抓,它使用設(shè)備上的語音識別和一些專門的命令來實(shí)現(xiàn)設(shè)備的完全免提操作启绰。
    • PrivacyCore Location現(xiàn)在允許用戶選擇允許應(yīng)用僅使用一次位置信息。此外還有“Sign in with Apple”服務(wù)沟使,該服務(wù)允許應(yīng)用程序使用現(xiàn)有的Apple ID注冊用戶委可。
    • Machine LearningApple擴(kuò)展了現(xiàn)有VisionNatural LanguageSpeech ML框架的功能腊嗡。這些新功能允許應(yīng)用程序判斷圖像顯著性着倾,執(zhí)行文本識別,在設(shè)備上處理語音等等燕少。 CoreML包括對100多種新模型層類型的支持屈呕,現(xiàn)在允許對模型進(jìn)行設(shè)備內(nèi)個(gè)性化。
    • SiriSiri Shortcuts現(xiàn)在是會話式的棺亭,允許他們處理參數(shù)。
    • ARARKit 3可同時(shí)使用相機(jī)蟋软,人物遮擋和動作捕捉镶摘。 RealityKitReality Composer提供了一種將AR功能集成到應(yīng)用程序中的簡單方法。
    • MetaliOS Simulator現(xiàn)在完全支持Metal應(yīng)用程序岳守。

2. Great Developer Habits – Session 239

Video Link

即使蘋果今年給我們帶來了所有令人難以置信的閃亮新玩具凄敢,本次會議也是我們團(tuán)隊(duì)認(rèn)為對您來說最重要的一次。它綜合了與世界各地開發(fā)人員進(jìn)行的多次對話的結(jié)果湿痢,并為將日常工作流程中的許多習(xí)慣融入其中而提供了理由涝缝。

講座將這些習(xí)慣分為八類:

  • 1) Organize:保持projectworkspace清潔。這意味著使用Xcode組譬重,故事板引用和新的構(gòu)建系統(tǒng)拒逮。它意味著將警告視為錯(cuò)誤,而不是將其檢入臀规。
  • 2)Track:始終使用源代碼管理滩援。使您的提交變小并且本地化。寫GOOD提交消息塔嬉。把它們想象成你未來的自我玩徊。
  • 3)Document:再次思考你未來的自我租悄,寫下評論,回答你為什么以你的方式實(shí)施某些事情的問題恩袱。出于同樣的原因編寫API文檔泣棋。
  • 4)Test:編寫單元測試。去做就對了畔塔。并確保您實(shí)際使用它們潭辈。
  • 5)Analyze:使用Xcode提供的工具,如Network Link Conditioner, the debug gauges and Instruments俩檬。使用sanitizers and checkers萎胰,只要有可能就將它們打開。
  • 6)Evaluate:進(jìn)行代碼審查棚辽。如果您是獨(dú)立開發(fā)人員技竟,請找人幫忙。了解每個(gè)變化屈藐。build它榔组。運(yùn)行測試。校對联逻。
  • 7)Decouple:使用包和框架將代碼分解為更容易維護(hù)的部分搓扯。這樣做可以更輕松地?cái)U(kuò)展或共享代碼。但是包归,這意味著文檔是至關(guān)重要的锨推。
  • 8)Manage:管理您的依賴項(xiàng)。了解他們對用戶數(shù)據(jù)的處理方式公壤。如果他們破裂或消失换可,請制定計(jì)劃。并且對于它們包含的每個(gè)依賴性都知道相同厦幅。

3. Introducing SwiftUI: Building Your First App – Session 204

Video Link

SwiftUI: Less code. Better code. Everywhere.

這是蘋果公司對SwiftUI的口頭禪沾鳄,而不僅僅是營銷炒作。在某些方面确憨,SwiftUI對于開發(fā)人員而言可能比Swift本身的引入更具革命性译荞。本次會議介紹了這個(gè)新框架,并展示了從頭開始構(gòu)建應(yīng)用程序休弃。它強(qiáng)調(diào)了SwiftUI的強(qiáng)大功能以及開發(fā)用戶界面的新方法吞歼。

當(dāng)然,在一次會議中可能無法涵蓋這么大的內(nèi)容玫芦。一旦你看到這個(gè)浆熔,你還有五個(gè)可以讓你真正開始了解如何讓SwiftUI為你工作。按順序,它們是:

即便如此医增,這并不是所有可用的SwiftUI內(nèi)容慎皱。關(guān)于accessibilitywatchOS支持等主題的會議有很多。利用下載這些會話的幻燈片的功能叶骨。你會一遍又一遍地參考它們茫多。

4. Modern Swift API Design – Session 415

Video Link

本次會議介紹了一些設(shè)計(jì)Swift-only API的新興最佳實(shí)踐。 既然Swift提供了ABI(Application Binary Interface)和模塊穩(wěn)定性忽刽,那么最終可以完全在Swift中構(gòu)建系統(tǒng)框架天揖。 SwiftUIRealityKit是兩個(gè)閃亮的例子。

Swift API設(shè)計(jì)的總體指導(dǎo)原則與2016年Apple首次發(fā)布其Swift API指南時(shí)的整體指導(dǎo)原則相同:使用時(shí)的清晰度跪帝。 雖然這顯然意味著必須明確命名今膊,但這也意味著必須明確使用。

該會話討論了在值和引用語義之間進(jìn)行選擇的最佳實(shí)踐伞剑,或兩者的混合斑唬,例如寫時(shí)復(fù)制值語義。 它繼續(xù)討論協(xié)議和泛型的適當(dāng)使用黎泣,并識別常見的濫用情況恕刘。

最后,它展示了動態(tài)密鑰路徑成員查找和屬性包裝器如何協(xié)同工作以啟用SwiftUI使用的一些很酷的新功能抒倚。

5. What’s New in Xcode 11 – Session 401

Video Link

本次會議展示并演示了許多Xcode 11的新功能褐着。它首先演示完全重新考慮編輯器啟用的新工作流程。 Xcode現(xiàn)在擁有盡可能多的獨(dú)立編輯器托呕,每個(gè)編輯器都有自己的模式和內(nèi)容含蓉。畫布和助理編輯器將合并到編輯器窗格中,并僅在有要顯示的內(nèi)容時(shí)顯示项郊。垂直和水平分割您的工作區(qū)多次谴餐。

Xcode 11現(xiàn)在還提供Swift Package Manager的完全集成。 Swift包是class citizens呆抑,無論是在Xcode還是在流行的存儲庫中,如GitHub汁展,GitLabBitbucket鹊碍。從CocoaPods遷移到SwiftPM再簡單不過了!

該會議還涵蓋了其他Xcode改進(jìn)的大雜燴食绿,包括Git stashcherry-pick侈咕,故事板中的Mac設(shè)備支持,目錄中資產(chǎn)的本地化器紧,環(huán)境覆蓋耀销,更好地跟蹤儀器中的os_signpost日志記錄等等。

6. Introducing Combine – Session 722

Video Link

本次會議介紹了新的Combine框架铲汪。用Apple的話來說熊尉,Combine是“一個(gè)統(tǒng)一的罐柳,聲明性的API,用于隨著時(shí)間的推移處理值狰住≌偶”第三方反應(yīng)式編程框架的粉絲會說,“但是催植,我們已經(jīng)擁有了這個(gè)肮蛹!”,Combine令人興奮的是它不是第三方框架创南。作為基本操作系統(tǒng)的一部分伦忠,您最終可以獲得許多異步編程問題的聲明性解決方案。

Combine以發(fā)布者稿辙,訂閱者和運(yùn)營商的角度來思考昆码。正如您所料,發(fā)布者是值的來源邓深,并定義了如何生成值和錯(cuò)誤未桥。訂閱者向Publishers注冊以接收這些值。運(yùn)營商充當(dāng)發(fā)布者和訂閱者芥备,轉(zhuǎn)換從發(fā)布者接收的值并將其向下游發(fā)送到訂閱者冬耿。操作員的這種“雙重身份”使他們能夠被鏈接在一起以處理更復(fù)雜的數(shù)據(jù)流。

Combine提供了許多預(yù)定義的運(yùn)算符萌壳,Apple稱之為Declarative Operator API亦镶。這些運(yùn)算符分為功能區(qū)域,如轉(zhuǎn)換袱瓮,列表操作缤骨,錯(cuò)誤處理,線程或隊(duì)列移動尺借,以及時(shí)間和調(diào)度绊起。

SwiftUI一樣,關(guān)于Combine還有更多關(guān)于適合一個(gè)會話的內(nèi)容燎斩。一旦您準(zhǔn)備好使用Combine做更多事情虱歪,請觀看會話721,Combine in Practice栅表。而且笋鄙,如果您是“反應(yīng)性”編程的新手,請準(zhǔn)備好多次觀看這些會話怪瓶!

7. Advances in UI Data Sources – Session 220

Video Link

任何使用UITableViewUICollectionView編寫過許多應(yīng)用程序的人幾乎肯定遇到過數(shù)據(jù)模型與UI不同步時(shí)出現(xiàn)的可怕崩潰萧落。即使你很幸運(yùn)沒有看到這次崩潰,你也遇到了讓它們保持同步并對UI進(jìn)行增量更新的困難。

本次會議介紹了一種新方法:可擴(kuò)展數(shù)據(jù)源找岖。這些工作通過使用新的三步過程:創(chuàng)建快照陨倡,填充該快照,調(diào)用apply()宣增。這很簡單玫膀!

快照中的數(shù)據(jù)項(xiàng)由唯一的持久標(biāo)識符標(biāo)識,而不是由IndexPaths標(biāo)識爹脾。有效標(biāo)識符的唯一要求是它必須是唯一的帖旨,并且必須符合Hashable。由于使您自己的Swift結(jié)構(gòu)值滿足這些要求是微不足道的灵妨,因此可以直接使用模型值解阅,而不是根據(jù)標(biāo)識符查找它們。這可以大大簡化您的代碼泌霍。

由于許多table view and collection view委托方法仍然通過IndexPath引用單元格货抄,因此有一個(gè)API可以在IndexPathidentifier之間進(jìn)行轉(zhuǎn)換。

一旦您使快照反映了數(shù)據(jù)模型的新狀態(tài)朱转,您可以通過調(diào)用apply()將更新放在屏幕上蟹地。系統(tǒng)負(fù)責(zé)處理插入和刪除操作,同時(shí)提供流暢的自動動畫藤为。當(dāng)然怪与,如果用戶體驗(yàn)過這種動畫,您可以禁用動畫缅疟。最重要的是分别,你可以在后臺線程上調(diào)用apply()!唯一的限制是您必須始終在后臺線程或主線程上調(diào)用它存淫。

8. What’s New in Swift – Session 402

Video Link

自去年6月WWW 2018年以來耘斩,Apple已經(jīng)完成并發(fā)布了Swift 5.0,并且Swift 5.1作為Xcode 11的一部分處于測試階段桅咆。本演講重點(diǎn)介紹了Swift在過去一年中的一些變化括授。

最重要的新功能之一是ABI - 應(yīng)用程序二進(jìn)制接口 - Swift 5.0中的穩(wěn)定性。這允許程序使用與構(gòu)建程序本身的編譯器不同的編譯器構(gòu)建的框架岩饼。 Swift 5.1引入了模塊穩(wěn)定性刽脖,使Swift模塊和導(dǎo)入它們的程序能夠使用不同的編譯器版本構(gòu)建。這使得捆綁框架和Swift運(yùn)行時(shí)與操作系統(tǒng)相匹配 - 與Objective-C存在的世界狀態(tài)相匹配 - 從而提供更小的二進(jìn)制文件和更快的應(yīng)用程序啟動忌愚。

將Swift運(yùn)行時(shí)與操作系統(tǒng)一起使用也可以獲得其他性能優(yōu)勢。現(xiàn)在却邓,Apple可以優(yōu)化橋接所謂的貨幣類型 - 常見類型(如字符串和字典)硕糊,從而顯著提高橋接性能。

Swift 5.0改變了編譯器表示字符串的方式;它們現(xiàn)在編碼為UTF-8而不是UTF-16。如果您依賴于String的基礎(chǔ)表示简十,則可能在您自己的代碼中遇到過此問題檬某。此更改允許與C API更簡單的互操作性,因?yàn)樽址辉傩枰D(zhuǎn)換螟蝙。它還允許在StringNSString類型之間更快地進(jìn)行橋接恢恼,從而提高整體應(yīng)用程序性能。例如胰默,由于這種變化场斑,SwiftNIO的吞吐量增加了20%

該會議還討論了工具改進(jìn)牵署,例如SourceKit中官方支持的Docker鏡像和Language Server Protocol (LSP)支持漏隐。它還介紹了一些已經(jīng)批準(zhǔn)或正在審核的新語言功能,這些功能可以實(shí)現(xiàn)一些很酷的新技術(shù)奴迅,例如Swift UI青责。

9. Adopting Swift Packages in Xcode – Session 408

Video Link

如上所述,Xcode 11現(xiàn)在支持使用Swift Package Manager(SPM)來管理外部開源軟件包的依賴關(guān)系取具。本次會議首先演示了向Xcode項(xiàng)目添加依賴項(xiàng)是多么容易脖隶。

與其他依賴關(guān)系管理器類似,SPM使用清單形式來定義包暇检。對于SPM产阱,該清單是一個(gè)名為Package.swift的文件。除此文件外占哟,程序包還包含Sources目錄和Tests目錄心墅,每個(gè)目錄包含程序包定義的每個(gè)目標(biāo)的其他目錄。源可以用Swift榨乎,C怎燥,C ++和Objective-C的任何組合編寫。默認(rèn)情況下蜜暑,包構(gòu)建為靜態(tài)庫并直接鏈接到生成的應(yīng)用程序可執(zhí)行文件中铐姚。

Swift Package Manager使用語義版本控制semantic versioning來實(shí)現(xiàn)包的版本控制。這提供了在包解析期間的邏輯肛捍,智能版本選擇隐绵。 SPM使用修飾符.upToNextMajor(from :).upToNextMinor(from :)來控制版本選擇。 Xcode在其對話框中暴露了同樣的能力拙毫。

更新到最新的合格軟件包版本更簡單:單個(gè)菜單命令依许。如果您熟悉從命令提示符使用SPM,則與執(zhí)行swift包更新相同缀蹄。版本控制的神奇之處在于一個(gè)名為Package.resolved的文件峭跳,其中SPM記錄了它解析的每個(gè)包的確切版本膘婶。您應(yīng)該確定并將此文件檢入您的源代碼管理系統(tǒng),以確保您團(tuán)隊(duì)中的每個(gè)成員都使用相同的版本蛀醉。

如果要創(chuàng)建自己的包悬襟,請查看會話410, Creating Swift Packages拯刁。

10. Introducing Sign In with Apple – Session 706

Video Link

Sign In with Apple是一項(xiàng)新服務(wù)脊岳,使您的應(yīng)用程序能夠?yàn)槟挠脩籼峁┖喕膸粼O(shè)置。它允許您的用戶點(diǎn)擊一個(gè)按鈕垛玻,快速批準(zhǔn)您請求的信息割捅,并通過Apple進(jìn)行身份驗(yàn)證。您可以獲得極佳的隱私夭谤,出色的安全性 - 通過雙因素身份驗(yàn)證確保登錄安全 - 以及經(jīng)過驗(yàn)證的電子郵件地址棺牧,所有這些都基本上不會對您起作用。

Sign In with Apple集成到您的應(yīng)用程序中包括四個(gè)步驟:

  • 1) 配置并顯示按鈕朗儒。有幾種款式和外觀可供選擇颊乘。
  • 2) 當(dāng)您的用戶點(diǎn)擊按鈕時(shí),創(chuàng)建并發(fā)送授權(quán)請求醉锄。您可以在此處指定所需的其他信息乏悄,例如全名或電子郵件。
  • 3) 回應(yīng)驗(yàn)證回調(diào)恳不。您會收到許多不同的數(shù)據(jù)項(xiàng)檩小,包括一個(gè)獨(dú)特,穩(wěn)定的用戶ID和一個(gè)“真實(shí)用戶指示器”烟勋,可以讓您高度自信地表明該用戶是真人而非機(jī)器人规求。使用此信息在您的應(yīng)用中配置帳戶。
  • 4) 響應(yīng)授權(quán)狀態(tài)的變化卵惦。

該會話還向您展示了如何最好地用戶登錄阻肿,不僅使用新按鈕,還使用現(xiàn)有的iCloud鑰匙串密碼(如果存在)沮尿。如果您的應(yīng)用要求用戶注冊帳戶丛塌,則值得花時(shí)間觀看此會話并研究幻燈片以實(shí)現(xiàn)最友好的用戶體驗(yàn)。

還值得注意的是畜疾,Sign In with Apple可以作為JavaScript庫使用赴邻,因此您可以將其集成到您可能支持的任何非Apple平臺中。

11. LLDB: Beyond “po” – Session 429

Video Link

該會話解釋了在調(diào)試程序時(shí)用于顯示值的三種不同的LLDB命令啡捶。 po是我們在嘗試在Xcode中調(diào)試程序時(shí)學(xué)習(xí)的第一個(gè)命令姥敛。它打印指定變量的對象描述。系統(tǒng)運(yùn)行時(shí)提供默認(rèn)對象描述瞎暑,但您可以通過使類型符合CustomDebugStringConvertible來自定義它彤敛。

po的參數(shù)可以是任何可編譯的東西忿偷。該命令實(shí)際上生成了代碼片段,這些代碼片段使用嵌入式編譯器編譯并在程序的上下文中執(zhí)行臊泌。它將結(jié)果包裝在另一個(gè)函數(shù)中以獲取描述。該描述就是它所展示的內(nèi)容揍拆。

接下來渠概,就是p∩┧可以將其視為“沒有對象描述的打印(print without the object description)”播揪。它與第一個(gè)po結(jié)果的效果相同。在進(jìn)行某種類型的分辨率后筒狠,它會將結(jié)果傳遞給相應(yīng)的格式化程序猪狈。 LLDB為許多常見數(shù)據(jù)類型提供格式化程序,因此它們的表示符合我們在控制臺中的預(yù)期辩恼。

檢查LLDB中的值的第三種方法是v命令雇庙。這是frame variable命令的別名,它不編譯和執(zhí)行代碼灶伊。這使得它很快但意味著它不使用與調(diào)試程序的源語言相匹配的語法荚恶。

通過演示定制或補(bǔ)充內(nèi)置數(shù)據(jù)格式化程序的方法來結(jié)束會話蹂季。并且,它提醒人們,Xcode 11中的LLDB版本現(xiàn)在使用Python 3而不是Python 2作為其腳本引擎呻畸。

12. Advances in Collection View Layout – Session 215

Video Link

這是一個(gè)bonus video

在iOS 6中引入集合視圖(collection views)時(shí),它們?yōu)楦鼜?fù)雜的UI設(shè)計(jì)打開了大門于樟。 它們的強(qiáng)大之處在于collection view layout务冕,它將呈現(xiàn)和處理用戶交互與item的實(shí)際放置分開。 雖然Apple提供了一個(gè)基于行的布局引擎--UICollectionViewFlowLayout - 構(gòu)建任何更復(fù)雜的東西都需要編寫自定義布局類翘贮。

但是赊窥,自定義布局很難正確。 它涉及許多樣板代碼择膝,可能很難確笔那恚快速的性能。 正確地布置補(bǔ)充和裝飾視圖看起來像黑魔法肴捉。 并且腹侣,嵌套collection views以創(chuàng)建您的設(shè)計(jì)師所需的滾動行為可能涉及許多late night制定適當(dāng)?shù)膮f(xié)調(diào)。

Compositional Layout to the Rescue!

今年新推出的是UICollectionViewCompositionalLayoutNSCollectionViewCompositionalLayout齿穗,它提供了一種在Apple所有平臺上創(chuàng)建布局的全新方式傲隶。 采用compositional布局時(shí),您可以從較小的單元構(gòu)建布局窃页,構(gòu)建更大的組件跺株,直到完成布局為止复濒。

從概念上講,有四個(gè)級別的構(gòu)建塊:items被收集到groups中乒省,這些組被收集到各個(gè)sections中巧颈,這些部分被收集到最終layout中。Groups本身就是項(xiàng)目袖扛,允許您嵌套它們砸泛。 可以使用閉包來定義布局,該閉合按需銷售部分蛆封,允許您在單個(gè)集合視圖中混合完全不同的布局策略唇礁。

這個(gè)新的布局引擎還有很多東西。 該會話提供了一個(gè)可下載的演示應(yīng)用程序惨篱,說明了構(gòu)建許多復(fù)雜布局是多么容易盏筐。 觀看會話后,一定要理解和使用它砸讳!

后記

本篇主要講述了2019年6月蘋果發(fā)布會相關(guān)的幾個(gè)視頻琢融。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绣夺,隨后出現(xiàn)的幾起案子吏奸,更是在濱河造成了極大的恐慌,老刑警劉巖陶耍,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奋蔚,死亡現(xiàn)場離奇詭異,居然都是意外死亡烈钞,警方通過查閱死者的電腦和手機(jī)泊碑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來毯欣,“玉大人馒过,你說我怎么就攤上這事⌒锍” “怎么了腹忽?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長砚作。 經(jīng)常有香客問我窘奏,道長,這世上最難降的妖魔是什么葫录? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任着裹,我火速辦了婚禮,結(jié)果婚禮上米同,老公的妹妹穿的比我還像新娘骇扇。我一直安慰自己摔竿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布少孝。 她就那樣靜靜地躺著继低,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稍走。 梳的紋絲不亂的頭發(fā)上郁季,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機(jī)與錄音钱磅,去河邊找鬼。 笑死似枕,一個(gè)胖子當(dāng)著我的面吹牛盖淡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凿歼,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼褪迟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了答憔?” 一聲冷哼從身側(cè)響起味赃,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虐拓,沒想到半個(gè)月后心俗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蓉驹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年城榛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片态兴。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狠持,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瞻润,到底是詐尸還是另有隱情喘垂,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布绍撞,位于F島的核電站正勒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏楚午。R本人自食惡果不足惜昭齐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望矾柜。 院中可真熱鬧阱驾,春花似錦就谜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至喧枷,卻和暖如春虹统,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隧甚。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工车荔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戚扳。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓忧便,卻偏偏與公主長得像,于是被迫代替她去往敵國和親帽借。 傳聞我的和親對象是個(gè)殘疾皇子珠增,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

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