heavenchou - 週一, 2020/06/01 - 00:49
最近又看到義雲高的信眾在網路上宣傳他們的上師,對於自稱是第三世多杰羌佛的義雲高,在此我引用一些基本教義來指出他們的問題。
*** ***
1 佛法教導中最重要的核心就是「涅槃」,在三法印中被描述為「涅槃寂靜」,意思也就是不再輪迴轉世、不再出生、不受後有。
在佛教中,有三類聖者皆是如此,即佛陀、辟支佛、阿羅漢,這三類聖者皆不可能再輪迴轉世。
也許有一種情況,就是佛陀可能會以本尊或分身至他方世界隨緣教化,或現出家身、或現居士身,但不可能是重新出生轉世,因為這已違反佛教根本教理。
所以號稱第三世多杰羌佛的義雲高應該算是附佛外道了,因為他的存在方式就違背佛教三法印了。
heavenchou - 二, 2020/05/05 - 17:39
工作中有需要使用到壓縮與解壓縮 zip 檔案,原本 Mac 以為內建的壓縮功能就可以做到,如下:
https://developer.apple.com/documentation/compression
結果試了半天,也查了一堆資料,好像都無法做到。在查詢資料的過程中,也看到很多人推薦 ZipArchive,我也就用它來測試了。
https://github.com/ZipArchive/ZipArchive
ZipArchive 是 Objective-C 寫的專案,我是要用 Swift 去執行,底下記錄了詳細過程。如果對於 Swift 連結 Objective-C 想多了解一點,可參考這篇:Swift 連結 Swift、Objective-C、C++
ZipArchive 的 Github 專案上有教導如何安裝使用,因為我沒有使用其他安裝工具,所以我採取手動安裝,它主要方法有四:
-
Add the SSZipArchive and minizip folders to your project.
-
Add the libz and libiconv libraries to your target.
-
Add the Security framework to your target.
-
Add the following GCC_PREPROCESSOR_DEFINITIONS: HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB $(inherited).
底下逐一記錄過程。
heavenchou - 二, 2020/05/05 - 17:29
本篇在說明 Swift 連結其他專案的 Swift、Objective-C、C++ 的方法與注意事項。
Swift 連結其他 Swift
假設有一個目錄 testClass,底下有三個程式
main.swift
person.swift
year.swift
其中 person.swift 會使用 year.swift 的內容,現在新的專案需要用到 person.swift 與 year.swift。
要加入檔案或目錄時,要選擇 Xcode 功能表的
File -> Add Files to "myProject"...
此時有這些選擇,通常我都不選 Copy ites if needed,以免被引用的專案後來有更新時,引用的專案還是用已經複製進來的舊版資料。當然,這功能我也不清楚,也許未來真的有需要使用的機會。
heavenchou - 周日, 2020/04/05 - 13:13
在佛法中有個議題,就是五蘊身心若都是剎那生滅,而佛教又談因果業力,那麼業力究竟藏在哪裡?
在後期佛法中,提出了阿賴耶識,用它來解釋「業」的儲藏,簡單的說,就是你造了善惡業,就把業存在阿賴耶識中,人雖然會生死,但阿賴耶識是不會隨著人的死亡而消失的,若有一天因緣成熟了,不管是在這一世或未來世,業的作用就出現了,這也就是善、惡果報成熟。
我不是研究阿賴耶識的人,所以了解極有限,只知道大概是如此解釋的。
不管上面解釋是不是正確,阿賴耶識最大的問題是它被稱為第八識,而傳統佛法是「六識論」,雖然研究阿賴耶識的人提出各種論述來解釋,但簡單的數學就是 8 > 6,且 8 ≠ 6,硬要在六識的教導中引用第八識來說明,總是讓人不易接受,尤其是對那些信仰傳統佛法的人。
heavenchou - 三, 2020/04/01 - 05:02
這一段是記錄把 CheckBox 放在 TableView 中使用所遇到的一些狀況。
這是一個標準的 Column 設計。
首先把紅色的部份移除,換成 CheckBox,如下圖。
註:其實還有一種方法,就是不移除 Table Cell View,只移除 Table View Cell,然後用 CheckBox 取代 Table View Cell。底下程式也會需要修改。
然後設定 CheckBox 的 Identifier,本例為 tableCheck。
heavenchou - 三, 2020/01/08 - 23:22
我要說明為什麼要投票給蔡英文和民進黨,若你的看法不同,請花點時間看看我的二大理由。
可以說的理由其實太多了,但最重要的一點,就是我反對共產黨,我不想看到台灣有一天淪落到共產黨手中,所以我一定要支持蔡英文和民進黨。
有人會說這是在操弄亡國感,我認為說這種話的人若不是沒看到事實,就是被洗腦被滲透而不自知。
看看新疆、西藏、香港,都是活生生又血淋淋的例子,共產黨的手段是何其殘忍且毫不留情的。我過去是支持藍營的人,以前的藍營是反共的,但看看現在的國民黨和泛藍政黨,幾乎都是中共的同路人,由此可知中共早就把手伸入了,而且成功的滲透了泛藍的團體。看到這些,你還會相信中共真的沒有要對台灣動手嗎?中共若真動手,對台灣會比對付新疆、西藏、香港溫和嗎?
真的到了那一天,你是要選擇勇敢站上街頭抗爭,同時擔心會不會變成明日的無名浮屍?或是選擇乖乖進再教育營每天被洗腦呢?
如果你無法選擇,那我勸你這一票選對人,未來就沒有這種選擇的困擾了。
heavenchou - 三, 2019/11/13 - 23:25
單元測試也是寫程式重要的一環,雖然我之前寫程式也沒有完全做到,但基本上的測試總是要有的,所以還是了解了一下 Xcode 上的單元測試。
我的環境是 macOS Catalina 10.15 + Xcode 11.1
建置專案
首先,在建立專案是要記得勾選「Include Unit Tests」和「Include UI Tests」。
如果一開始沒有加,也可以在主選單用 File -> New -> File... 加上去。
建好的專案就會像下圖一般,有 Unit Tests 和 UI Tests 二個區塊。
heavenchou - 週一, 2019/11/11 - 15:14
Swift 有二種處理 XML 的方法,一種是 SAX,一種是 DOM。SAX 是使用 XMLParser,功能比較單純,早期就是用這個方法處理 XML 經文,這種方法不易處理複雜的資料。DOM 則是用 XMLDocument,比較能依前後文的不同來處理資料,本文是介紹後者的功能。
基本功能介紹
載入整個 XML 檔案
let doc = try? XMLDocument(contentsOf: file)
取出 root
let root = doc?.rootElement()
取出指定元素
let node = root?.elements(forName: "body")[0]
取出元素名稱
let name = node.name
取出元素全部屬性
let attribs = node.attributes
if attribs != nil {
for att in attribs! {
......
}
}
heavenchou - 四, 2019/11/07 - 10:45
經過這兩篇「NSOutlineView 使用程式呈現樹狀資料」、「Mac Cocoa NSOutlineView 資料綁定」的練習,這次直接處理 NSTableView,果然駕輕就熟,稍為查一些資料,很快就做出成果了,畢竟它比 NSOutlineView 簡單,基本架構都差不多。
這篇就不談太多細節,只把重點記錄下來。
資料綁定
先由資料綁定做起。
準備資料
TableView 是表格狀的資料,所以就用藏經目錄的結構來處理,底下只有三個欄位,ID、經名與作譯者。
宣告 catalog 變數,它是 Catalog 物件的陣列,底下建立了三筆資料。
heavenchou - 三, 2019/11/06 - 15:16
此篇實作是接續「NSOutlineView 使用程式呈現樹狀資料」,那次是用程式來處理,本篇要使用 Cocoa Binding 的方式來綁定資料。
關於 Cocoa Binding,可先參考這篇「Mac Cocoa 資料綁定 (Binding) 實作測試」的基本概念。
簡單來說,就是利用資料綁定的方法來呈現樹狀目錄,而不是寫一堆程式來處理。
準備資料
為了配合綁定的需求,把上一個例子的資料稍為修改如下,主要是加上 class 要加上 @objcMembers,變數要加上 @objc 和 dynamic。
底下就是全部的程式了。
頁面