我很困惑,這就是NSUserDefault,分配初始化VS標準Userdefault
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
和
區別NSUserDefaults *userDefault = [[NSUserDefaults alloc] init];
可以在任何一個可以幫助我......
thnx預先
我很困惑,這就是NSUserDefault,分配初始化VS標準Userdefault
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
和
區別NSUserDefaults *userDefault = [[NSUserDefaults alloc] init];
可以在任何一個可以幫助我......
thnx預先
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
這是一類方法將會返回NSUserDefaults的共享實例。因爲它是一個共享實例。它是在全球範圍內存儲數據的理想場所,可以跨應用程序訪問。
NSUserDefaults *userDefault = [[NSUserDefaults alloc] init];
這是一個實例方法,它將初始化NSUserDefaults的已分配實例。每調用一次,都會初始化並返回一個新實例,這對於在全局級別存儲數據沒有用處。因此更適合在班級內部使用。而且,這個實例的生命週期只有在其參考範圍出現之前纔有效。
此處瞭解詳情:Documentation
要訪問默認標準在模擬器/設備:link
使用standUserDefaults您正在使用應用程序的sharedInstance。使用alloc init可以使新用戶使用標識符進行默認設置。當我必須與我的應用的共享擴展共享數據時,我曾經使用過它。我將用戶默認值中的數據保存在我創建的標識符中,以便在我的共享擴展項目中訪問。
我相信一定有它更多的解釋,你可以看看這裏 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/
[NSUserDefaults的standardUserDefaults]將使用Userdefaults的全局共享實例。
standardUserDefaults返回配置爲搜索當前應用程序的搜索列表的NSUserDefaults的全局實例。
[[NSUserDefaults alloc] init]會每次創建實例。
其更好地使用[NSUserDefaults的standardUserDefaults]
基於NSUserDefaults.h說明,使用standardUserDefaults時,你會得到配置爲搜索當前應用程序的搜索列表的NSUserDefaults的一個全局實例。
雖然,如果您使用alloc init,您將需要一個套裝。
-init相當於-initWithSuiteName:無
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
上面的行,通過使用類 方法給你singleton對象 standardUserDefaults通過該方法接收到的對象在整個分配的單個存儲器應用程序。
NSUserDefaults *userDefault = [[NSUserDefaults alloc] init];
這將讓你有新對象,每個物體分配一個不同的 存儲器中,即使對象範圍完成釋放。
如果你想存儲和使用整個應用程序的值,那麼它最好使用單獨的對象,當您刪除應用程序,將被釋放
因爲我讀userdefault存儲在文件的.plist如果我** ** standradUserDefault創建因此它是在訪問應用程序級別和如果我使用alloc init,它是否存儲在其他位置(不在同一個plist文件中) –
不,它不會被存儲在同一個plist中。 –