Just a Computer Graphics Studio & My Life

Posts tagged ‘data’

[iOS] 字串去掉前後的空白

寫了四年多的iOS App,還沒有需要字串去掉前後的空白,可是這次卻因為在資料庫發現,居然有email字串中尾端多打了個「空白」,以至於某些功能判定沒有此帳號,而出現非預期的結果。

iOS 字串去掉前後的空白.PNG

 

(繼續閱讀…)

廣告

[iOS] 刪除 User Defaults

很多時候我們會把資料儲存在User Defaults,也就是本機端,只要App不被刪掉,那麼每次重新開啟App,就能再從User Defaults取得先前所儲存的資料。

有某時候我們需要把User Defaults給清空,比如要給其它帳號使用,此時登出A就要將A所儲存的User Defaults給清除乾淨,而登入B後又是全新沒有受污染的User Defaults。

該怎麼做呢?以下的code就能刪除所有存在User Defaults中的key,不過卻不會刪掉系統預設的key呢!

/**
 Theme: Delete User Defaults
 IDE: Xcode 7
 Language: Objective C
 Date: 104/12/07
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
#pragma mark - 刪除 UserDefaults
    NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
    NSDictionary *dict = [defs dictionaryRepresentation];
    for (id key in dict) {
        [defs removeObjectForKey:key];
    }
    [defs synchronize];

清空前的User Defaults之key群:

(
GGUserDefaultsKeyLoginAccount,
AppleKeyboardsExpanded,
GGUserDefaultsKeyLoginPassword,
PCSavePendingUserDefaults,
GGUserDefaultsKeyhasFirstShowMenu,
GGUserDefaultsKeyIsLogin,
INNextHearbeatDate,
com.apple.content-rating.ExplicitBooksAllowed,
GGUserDefaultsKeyLoginPasswordAlternative,
AppleKeyboards,
HasUserRegisteredFonts,
PKEnableStockholmSettings,
GGUserDefaultsKeyRememberPassword,
AppleLanguagesDidMigrate,
com.apple.content-rating.TVShowRating,
com.apple.content-rating.ExplicitMusicPodcastsAllowed,
NSLanguages,
com.apple.content-rating.MovieRating,
GGUserDefaultsKeyQBId,
GGUserDefaultsKeyLoginAccountAlternative,
PreferredLanguages,
AddingEmojiKeybordHandled,
MSVLoggingMasterSwitchEnabledKey,
AppleLocale,
AppleLanguages,
NSInterfaceStyle,
com.apple.content-rating.AppRating,
AppleITunesStoreItemKinds
)

清空後的User Defaults之key群:

(
PKEnableStockholmSettings,
INNextHearbeatDate,
MSVLoggingMasterSwitchEnabledKey,
AppleITunesStoreItemKinds,
AddingEmojiKeybordHandled,
com.apple.content-rating.ExplicitBooksAllowed,
com.apple.content-rating.MovieRating,
HasUserRegisteredFonts,
AppleLanguagesDidMigrate,
com.apple.content-rating.AppRating,
AppleLanguages,
NSLanguages,
NSInterfaceStyle,
com.apple.content-rating.ExplicitMusicPodcastsAllowed,
AppleKeyboardsExpanded,
AppleKeyboards,
PreferredLanguages,
AppleLocale,
com.apple.content-rating.TVShowRating
)

key前綴為PC或GG,就是我在此專案中儲存資料用的key喔~

參考:Delete all keys from a NSUserDefaults dictionary iPhone

JSON線上解析器 (JSON Parser Online)

JSON(JavaScript Object Notation)是一種輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。儘管JSON是Javascript的一個子集,但JSON是獨立於語言的文字格式,並且採用了類似於C語言家族的一些習慣。

原始的JSON檔不易閱讀,就如同下圖我們所看到的樣子,這對開發造成些許阻礙,讓眼睛好容易疲勞呀⋯⋯

Json Parser Online2 (繼續閱讀…)

Mac硬碟空間不足問題

最近一個月以來,一直受硬碟空間不足所苦,原因是我的Macbook Air只有128GB,為什麼這麼小?因為我買基本款,想說我不會把太多資料存放在筆電,半年前也買了1TB的隨身硬碟,一且都在計畫之中才是,只是Mac OS開始發揮潛力,原本的好意變成困擾。簡單來說,原本備份這個功能用意良好,但對於本來就有做備份的我來說顯得多餘~

關於這台Mac 後

其中我把70GB割給Mac,而50GB分給Windows,已經沒有在Air存放音樂、影片、影像的我,上頭顯示的「其他」不知道為何如此龐大?

(繼續閱讀…)

[iOS] CSV轉Plist

寫iOS時常需要讀取檔案,我們不希望把資料key進程式碼,因為會擾亂編程觀感,而且不易修改和維護,於是將CSV轉為Plist會是個好方法! 稍微來瞭解一下CSV和Plist是什麼格式吧~

  • CSV逗號分隔值(Comma Separated Values),是一種純文本格式,用來存儲數據。在CSV中,數據的欄位由逗號分開,程序通過讀取文件重新創建正確的欄位。
  • Plist屬性列表(Property List),在Mac OS X的Cocoa,NeXTSTEP和GNUstep編程框架中,屬性列表檔案是一種用來儲存序列化後的物件的檔案,它的副檔名為.plist,因此通常被稱為plist檔。Plist檔案通常用於儲存使用者設定,也可以用於儲存捆綁的訊息

Comma Separated Values (繼續閱讀…)

[iOS] 存取plist檔

什麼是plist?全名為property list,在所有的資料儲存方法中,最容易莫過於Property List了,陣列、字典、字串和資料都可以存成XML格式的Property List,事實上,NSUserDefaults就是一個Property List。

不過並非所有的資料都適合用它來儲存,像是過多的資料或是自己設計的一些複雜物件都不太適合,因為Property List會一次將整個文件內容讀取到記憶體中,無論效率上或是空間上都不是很理想。

使用plist存取檔案有什麼特色?

  • Property list 可以為 binary 格式或 XML 格式
  • plist 檔案可用一般文字編輯器做修改或 property list editor 做修改
  • NSArray、NSDictionary 都有方法能直接將內容以 XML plist 的格式記錄於檔案
  • property list object 也就是 plist 結構支援的物件型態
資料型態 XML 元素 Foundation framework 類別
array <array> NSArray
dictionary <dict> NSDictionary
string <string> NSString
data <data> NSData
date <date> NSDate
number – integer <integer> NSNumber(intValue)
number – floating point <real> NSNumber(intFloat)
Boolean <true/>或<false/> NSNumber(boolValue)

(繼續閱讀…)

標籤雲

%d 位部落客按了讚: