Mogenerator的初級使用

2021-06-23 08:07:20 字數 3180 閱讀 1284

最近在用core data來進行開發。core data其實封裝的很好了。把儲存底層都遮蔽了(sqlite,xml,記憶體)。不管是用那種方式儲存下來。用core data都是在操作物件了。但是core data一套東西下來,單是學習就學習的淚流滿面。天資有限,只能找一些看上去更簡單的第三方類庫來使用。

github上找了很久,最後在使用的是magicalrecord。不為其他,只是用起來很爽。特別是目前公升級到了2.1版本以後,儲存的方法名字不那麼逆天了。更是好用多了。

而mogenerator是什麼東西呢。

它漂亮的主頁上是這樣寫的:

mogenerator為你定義了的core data生成預設的資料類。與xcode不一樣的是(xcode乙個entity只生成乙個nsmanagedobject的子類),mogenerator會為每乙個entity生成兩個類。乙個為機器準備,乙個為人類準備。為機器準備的類一直去匹配data model。為人類準備的類就給你輕鬆愉快的去修改和儲存。

mogenerator其實是乙個命令列的工具,因此也就可以輕鬆愉快的用homebrew去安裝。

1
$ brew install mogenerator
公升級

1
$ brew update && brew upgrade mogenerator
按照這篇的教程我新增了指令碼以後執行不成功

1

2

cd testmogenerator

mogenerator -m mydatabase.xcdatamodeld/mydatabase.xcdatamodel/

/volumes/data/iyu/library/developer/xcode/deriveddata/testmogenerator-adwdmrbsvjjxqtawmqvnhfdhubts/build/intermediates/testmogenerator.build/debug-iphonesimulator/mogenerator.build/script-

5b80b84a16d9ec8f00e8e3a3.sh: line 3: mogenerator: command not found command /bin/sh failed with exit code 127

自己打命令測試mogenerator是成功的

xcode使用的是/bin/sh,我懷疑是用homebrew安裝的以後的path跟xcode的/bin/sh/執行的

思考以後在命令之前之前匯入mogenerator的路徑。 由於我是用homebrew按照的自然在homebrew的路徑下面

1

23

cd testmogenerator

export path="/usr/local/cellar/mogenerator/1.27/bin:$path"

mogenerator -m mydatabase.xcdatamodeld/mydatabase.xcdatamodel/

這次mogenerator是找到了,但是xcadatamodeld又沒有找到。看到

mogenerator: error loading file

at mydatabase.xcdatamodeld/mydatabase.xcdatamodel/: no such file exists command /bin/sh failed with

exit code 66

pwd出來路徑觀察以後把cd去掉

1

2

export path="/usr/local/cellar/mogenerator/1.27/bin:$path"

mogenerator -m mydatabase.xcdatamodeld/mydatabase.xcdatamodel/

這次就對了

我建立了乙個叫testmogenerator的工程並且在工程的data model名字叫mydatabase 如圖:

mogenerator安裝以後是這樣的

然後安command+b 執行一下這個target。

執行以後生成的檔案在這裡

ps: 第一次生成的檔案位置不對。所以指令碼又改了一下

1

23

cd testmogenerator

export path="/usr/local/cellar/mogenerator/1.27/bin:$path"

mogenerator -m ../mydatabase.xcdatamodeld/mydatabase.xcdatamodel/

每乙個entity生成了兩個類 乙個entity的名字的類, 乙個下劃線entity的名字的類。_***x.*這個類不要去修改,修改***x這個類就好了。

如果是乙個新的entity,需要你自己加入自己的工程裡面工程,如果entity已經加入現在只是更新了entity的話。就不用加入工程了。

最後編譯的時候還是不對 指令碼繼續改 囧

1

23

cd testmogenerator

export path="/usr/local/cellar/mogenerator/1.27/bin:$path"

mogenerator -m ../mydatabase.xcdatamodeld/mydatabase.xcdatamodel/ --template-var arc=yes

斷斷續續折騰了兩天。大概明白了mogenerator怎麼乙個事情。但是好用好還有帶研究。這篇blog先發吧。不然又難產了。

python中requests庫的初級使用

基於2.19.1版本的requests庫,參考官方文件 首先是安裝 pip install requests匯入使用 import requests1.發起請求 request.請求方式 請求引數 例如 response requests.get params response requests.p...

git版本控制系統和github的初級使用

git服務的 github.com可以託管開源的 下面我們準備為 yingcloud建立乙個庫作為例子 初始化 mkdir yingcloud cd yingcloud git init 建立乙個 readme檔案 gedit readme 新增專案 git add readme git commi...

mysql初級掌握sql MYSQL的初級使用

一 mysql的簡單使用 1.今天來記錄常用的sql命令 檢視庫 show databases 檢視表 show tables 進入庫 use 庫名 新建乙個庫 create database 庫名 新建乙個表 create table 庫名.表名 字段 型別 寬度 約束 在庫中的時候可以省掉庫名 ...