Swift Initialization (1) — Default Initializer

Swift Initialization (2) — Initializer Delegation

Swift Initialization (3) — Two-Phase Initialization

大家在剛接觸 Swift 時,是否碰過在 Initializer A 中參照 self(讀寫 Stored Property、呼叫 Instance Method⋯等)編譯失敗,但在 Initializer B 中參照 self 卻能編譯成功的情況?又或者是在同一個 Initializer 中 A 行參照 self 會編譯失敗,而改到 B 行卻又編譯成功。如果你至今仍認為這是 Swift 七大不思議之 …


Swift Initialization (1) — Default Initializer

Swift Initialization (2) — Initializer Delegation

Swift Initialization (3) — Two-Phase Initialization

Delegation 意思是「委派」,所有 iOS 開發者相信對這個詞都不陌生,因為原生物件大量使用 Delegation Pattern(委派模式),甚至只要初創建 App Project 就會自動為你產生一個 AppDelegate。雖然 Initializer Delegation 所指的並不是 Delegation Pattern,但卻隱含著類似的味道:將部分責任委派給其他人來處理。也就是說:

A Initializer 呼叫 B Initializer 的行為稱作 Initializer Delegatio …


初始化(Initialization)在程式語言中如同一顆生命之樹,是萬物的起源,掌握好初始化的技巧便能主宰這個世界。然而,翻開 Swift 字典書中的 Initialization 篇章,一拖拉庫的 Initializer 想必讓大家感到十分困惑,究竟每個 Initializer 的差別與用途分別是什麼?我將它們整理成四個類別並會透過數篇文章一一向大家介紹。

Swift Initialization (1) — Default Initializer

Swift Initialization (2) — Initializer Delegation

Swift Initialization (3) — Two-Phase Initialization

The Mission of Initializers

在開始介紹每一種 Initializer …


隨著直播平台百家爭鳴時代宣告落幕,17 Media 分別在台灣與日本奠定了良好且深厚的市場基礎,時至今日,兩地雖各自發展出截然不同的直播生態及文化,但都具備了一個共通點 — 直播已成為年輕世代吸收資訊的強力媒體。

然而,17 除了繼續強化既有的 Mobile / Web App 服務之外,提前佈局下一個階段的直播應用也成為了我們重要的一個課題。有鑒於此,BaaS 團隊應運而生。

直播即服務

BaaS (Broadcast as a Service) 指的是「直播即服務」。

直播具有較高的技術門檻,在過去,一個非直播平台想要取得直播內容不是一件容易的事,即便技術到位了,卻也往往面臨沒有足夠豐富的內容的窘境,畢竟這些內容背後需要透過一個龐大的運營團隊支撐才有可能達成。反之,17 在多元內容的經營上已深耕許久,除了有五花八門的直播種類外,還有節目、17Q、虛擬偶像、短影音和貼文⋯⋯等,而 BaaS 團隊的使命就是將這些內容突破既有平台的限制,替各式各樣的應用和服務開發解決方案,透過這些解決方案,合作夥伴就能將 17 上的內容與自家的產品進行整合。同時,直播的應用場景也將因為這些解決方案產生無限可能。

Mobile SDK

由於 17 自 Mobile App 起家,Mobile SDK (以下簡稱 M17 SDK)成為了我們著眼的第一項產品。舉凡社交、交友、OTT 或新聞⋯⋯等各式類型的 App 只要整合 M17 SDK 後,都能輕易獲取 17 上的內容。若只是單純獲取內容當然不夠看,最重要的是透過 M17 SDK,App 還能與內容進行深度互動:想要和主播聊天?沒問題;想要抖內(donate)主播?沒問題;想要參與投票決定節目即時走向?沒問題;想要參加 17Q 益智互動節目、答題拿獎金?也沒問題!這些功能通通都封裝在 M17 SDK 裡。

客製化內容:節目、音樂、遊戲、談天直播任你挑

17 上雖然有各式各樣的內容,但是對於身處不同類型與產業別的合作夥伴來說,其平台上的用戶對內容的喜好卻不盡相同,因此,合作夥伴整合 M17 SDK 的第一步,就是要決定為自己平台上的用戶提供怎樣的直播內容。透過 SDK 提供的介面,App 可以依照區域或類型來篩選出最符合自家使用者輪廓的內容(甚至可以指定某幾位主播的直播間!),並且客製化這些直播間排列組合的方式,以最佳化用戶的點擊率、觀看率以及觀看時長。一旦能夠成功的吸引住用戶的眼球,接下來就可以透過 SDK 來嘗試將流量轉化為收益。

Racing Wang

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store