IOS开发:NSDictionary详解

合集下载

ios开发获取链接网络wifi名称

ios开发获取链接网络wifi名称

ios开发获取链接网络wifi名称中间遇到一个功能,需要获取wifi名称进行判断。

查找了一些方法,进行总结。

这些方法只能是用真机来验证的。

引入系统#import<SystemConfiguration/CaptiveNetwork.h>获取SSID--wifi名称+ (NSString *)ssid{NSString *ssid = @"Not Found";CFArrayRef myArray = CNCopySupportedInterfaces();if (myArray != nil) {CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArr ay, 0));if (myDict != nil) {NSDictionary *dict =(NSDictionary*)CFBridgingRelease(myDict);ssid = [dict valueForKey:@"SSID"];}}return ssid;}获取MAC --MAC为网络接口物理地址,一般指电脑网卡的物理地址+ (NSString *)bssid //获取macIP{NSString *bssid = @"Not Found";CFArrayRef myArray = CNCopySupportedInterfaces();if (myArray != nil) {CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArr ay, 0));if (myDict != nil) {NSDictionary *dict =(NSDictionary*)CFBridgingRelease(myDict);bssid = [dict valueForKey:@"BSSID"];}}return bssid;}------------官方介绍--------------------/*!@constant kCNNetworkInfoKeySSIDData@discussion NetworkInfo Dictionary key for SSID in CFData format*/extern const CFStringRef kCNNetworkInfoKeySSIDData__OSX_A V AILABLE_STARTING(__MAC_NA,__IPHONE_4 _1);/*!@constant kCNNetworkInfoKeySSID@discussion NetworkInfo Dictionary key for SSID in CFString format*/extern const CFStringRef kCNNetworkInfoKeySSID__OSX_A V AILABLE_STARTING(__MAC_NA,__IPHONE_4 _1);/*!@constant kCNNetworkInfoKeyBSSID@discussion NetworkInfo Dictionary key for BSSID in CFString format*/extern const CFStringRef kCNNetworkInfoKeyBSSID__OSX_A V AILABLE_STARTING(__MAC_NA,__IPHONE_4 _1);/*!@function CNCopyCurrentNetworkInfo@discussion Returns the Network Info for the specified interface.For example, Network Info dictionary will contain the followingkeys, and values:<pre>@textblockKeys : Values=======================================kCNNetworkInfoKeySSIDData : CFDataRefkCNNetworkInfoKeySSID : CFStringRefkCNNetworkInfoKeyBSSID : CFStringRef@/textblock</pre>@param interfaceName Name of the interface you are interested in@result Network Info dictionary associated with the interface.Returns NULL if an error was encountered.You MUST release the returned value.*/。

Xcode中Info.plist字段详解

Xcode中Info.plist字段详解

Xcode中Info.plist字段详解Info.plist⽤于向iOS提供关于app,bundle或者framework的⼀些重要信息。

它指定了⽐如⼀个应⽤应该怎样启动,它如何被本地化,应⽤的名称,要显⽰的图标,还有更多。

Info.plist⽂件实际上是苹果预定义schema的XML⽂件。

为了构建⼀个设备相关的健,你在健的后⾯要加上~iphone或者~ipad。

常⽤字段:1.获取版本信息:NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary];NSString *localVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];2.应⽤⽀持http⽹络请求:在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary 。

在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES注意类型NSAppTransportSecurity为Dictionary,NSAllowsArbitraryLoads为Boolean,复制粘贴的时候,不要多了空格,segment fault 页⾯上直接复制,经常会多⼀个出空格!控制应⽤的名称:表A-1 控制应⽤的名称字段类型是否必须摘要CFBundleName String Yes bundle的简称, 这个健指定了你的应⽤的名称CFBundleDisplayName String No 本地化的bundle名, 本地化,可以通过InfoPlist.strings⽂件来为每个语⾔指定⼀个合适的值CFBundleDisplayNameCFBundleDisplayName字段指定了⼀个字符串值来标识bundle的显⽰名称。

nsdictionary用法

nsdictionary用法

nsdictionary用法
NSDictionary是一种用于存储键值对的数据结构,其中键和值可以是任意类型的对象。

以下是NSDictionary的一些常见用法:
- 字典初始化:有两种常用的初始化方法。

- + (id)dictionaryWithObject:(id)anObject forKey:(id)aKey:一般用于单对键值对字典的初始化。

- + (id)dictionaryWithObjectsAndKeys:(id)firstObject,...:一般用于多对键值对字典的初始化。

- 字典取值:使用- (id)objectForKey:(id)aKey方法,根据键获取对应的值。

- 可变字典:有两个方法可以修改和删除字典中的键值对。

- - (void)setObject:(id)anObject forKey:(id)aKey:如果键值对已存在,则修改对应的值;如果不存在,则添加新的键值对。

- - (void)removeObjectForKey:(id)aKey:删除指定键的键值对。

在使用NSDictionary时,需要注意键必须是唯一的,否则会覆盖已有键对应的值。

另外,NSDictionary是一种无序字典,它存储的键值对顺序是不固定的。

如果需要保持键值对的顺序,可以使用NSOrderedDictionary。

iOS开发之推送—极光推送

iOS开发之推送—极光推送

iOS开发之推送—极光推送1.首先介绍一下苹果推送机制(APNS:)Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器。

你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机。

接下来再看一张解释图:那么在进行推送过程中,对于初学者最难搞的部分不外乎就是对证书的处理,那么接下来我将会对如何请求推送证书以及配置证书做详细的步骤讲解关于证书的请求1.首先找到电脑的,然后打开,找到,再次点开,找到钥匙串访问。

2.接下来点开钥匙串访问,然后电脑左上角点击钥匙串访问→证书助理→从证书颁发机构请求证书3.第二步执行完毕后会进入到下图(图1)页面,用户电子邮件要填写开发者账号的邮箱,常用名称填写自己的姓名就好,然后要选择存储到磁盘,然后点击继续,这个时候会弹出保存该证书的位置(图2),选择桌面就可以.这个时候就会在桌面生成一份CSR文件图1图2然后打开浏览器,进入到苹果开发者中心页面.点击右上角Account,进入到下图(图3)页面,输入开发者账号密码进入主页,找到下图位置点击,这里是创建开发者证书和发布证书的地方以及x-code执行证书的地方图3点击后进入到下面的页面(图4)首先点击AppIds,先创建ID点击下图上的+按钮点击按钮后进入到下面的页面App ID Description 填写一下ID描述,要根据工程名称来命名Bundle ID 需要填写Xcode工程里的Bundle ID因为是要做推送,所以把下图的PushNotifations选择上然后点击continue点击完continue 后会进入到下图页面,点击registe,然后点击donedemo1text,能够找到刚刚创建好的APP ID此时,依次点击网页左侧的按钮如下图,来创建开发证书和发布证书,在这里说一下开发证书(为了给开发者做代码调试用的证书) 发布证书(将APP发布到APP STORE 上的证书),,,在这里我只拿开发证书举例子,发布证书和开发证书的请求方式一样点击Development后,会进入到如下页面,点击+号点击加号后,进入到下面的页面,因为是做推送,所以把Apple Push Notification service SSL选择上,拉到网页最底下,点击continue进入到下面的页面,大家看App ID 要选择刚刚上一步创建的App ID一直点击continue 到看到如下页面,点击Choose File这时候要把最开始使用钥匙串申请下来的CSR文件选择上选择完毕后,再次点击continue会进入到下面的页面,此时开发证书就申请下来了,点击download,把该证书也暂时存放在桌面上双击刚刚保存在桌面上的证书,然后点开钥匙串→登录→>我的证书就会发现刚刚双击的证书出现在我的证书里面了,如下图然后在我的证书目录下,右键选择刚刚的开发证书,选择导出(切忌此处不要把证书展开)然后会进入到如下页面,因为我导出的是开发证书,所以我写上开发2个字,位置也选择桌面吧.这样就生成了一个p12文件.再点击存储的时候需要填写密码,最好就写简单易记的,例如123456,这个密码一定要牢记也会生成一个p12文件.证书处理完毕就开始进入正题,开始搞推送,推送的知识点里对于初学者也就请求证书会麻烦一点咱们这里讲推送呢,借助一个第三方推送平台→极光推送官网地址是还不是极光开发者的先注册成为开发者,这里对于注册开发者就不做过多的讲解在极光的主页,点击右上角头像→控制台,会进入到如下页面,点击创建应用点击创建应用后会进入到如下页面,全部信息填写完毕后,点击创建我的应用,这个时候,应用就创建好了,应用创建好了之后,进入到该应用里,如下图,要记住这个Appkey,它是App能否推送的关键,因为下面的Bundle ID是和你xcode工程的Bundle ID一致的这个时候,极光推送对于APP的配置就结束了,接下来就是代码部分:首先去极光推送API下载相关的库和添加系统依赖库,这个极光文档里面都有首先需要在工程内部新建一个plist文件,如下图,如果建好plist之后,发现plist路径不能识别,建议从工程内找到该plist,拖拽到桌面,然后回到工程内删除掉plist文件,再从桌面添加进来在APPDelegate里面的代码部分如下首先引入头文件在- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法里实现如下代码: //极光推送if([[[UIDevice currentDevice]systemVersion]floatValue] >=8.0){[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge|UI UserNotificationTypeSound|UIUserNotificationTypeAlert) categories:nil];}else{[JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge| UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert) categories:nil];}[JPUSHService setBadge:0];NSString *path =[[NSBundle mainBundle]pathForResource:@"PushConfig"ofType:@"plist"];NSDictionary *dic = [[NSDictionary alloc]initWithContentsOfFile:path];[JPUSHService setupWithOption:launchOptions appKey:[dic objectForKey:@"APP_KEY"] channel:[dic objectForKey:@"CHANNEL"]apsForProduction:[dic objectForKey:@"APS_FOR_PRODUCTION"]];另外还需要写几个其他的方法,如下- (void)application:(UIApplication*)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { // Required[JPUSHService registerDeviceToken:deviceToken];}-(void)application:(UIApplication*)applicationdidReceiveRemoteNotification: (NSDictionary*)userInfo {// Required,For systems with less than or equal to iOS6[JPUSHService handleRemoteNotification:userInfo];}-(void)application:(UIApplication*)applicationdidReceiveRemoteNotification: (NSDictionary*)userInfofetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {// IOS 7 Support Required[JPUSHService handleRemoteNotification:userInfo];completionHandler(UIBackgroundFetchResultNewData);}-(void)application:(UIApplication*)applicationdidFailToRegisterForRemoteNotifica tionsWithError:(nonnull NSError *)error{}到此为止,极光推送就可以成功了。

iOS中NSNumberFormatter的介绍与用法

iOS中NSNumberFormatter的介绍与用法

iOS中NSNumberFormatter的介绍与⽤法前⾔iOS中NSDateFormatter⽤的范围⼀般来说⽐较⼴泛,不过相对于处理数字⽽⾔,很少⽤到NSNumberFormatter,NSNumberFormatter中有很多枚举类型,会为实际开发节省时间.NSNumberFormatter可以⽤来处理NSString和NSNumber之间的转化,可以满⾜基本的数字形式的转化。

下⾯话不多说了,来⼀起看看详细的介绍吧1:使⽤+ localizedStringFromNumber:numberStyle:本地化⽅法格式化NSNumber到NSString四舍五⼊到整数NSNumber *number = @(123423.5563);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterNoStyle];// 123424货币数字形式NSNumber *number = @(12342323.5563);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterDecimalStyle];// 12,342,323.556货币的形式,带本地化的货币符号NSNumber *number = @(12342323.5563);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterCurrencyStyle];// ¥12,342,323.56百分数形式,并且四舍五⼊到百分⽐的整数部分NSNumber *number = @(12342323.5563);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterPercentStyle];// 1,234,232,356%科学计数形式NSNumber *number = @(12342323.55665); NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterScientificStyle]; // 1.234232355665E7本地化拼写形式NSNumber *number = @(12342323.55665);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterSpellOutStyle];// 三⼗四万⼆千三百⼆⼗三点五五六六五序数形式NSNumber *number = @(12342323.55665);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterOrdinalStyle];// 第1234,2324货币形式显⽰ISO分配的货币符号NSNumber *number = @(12342323.55665);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterCurrencyISOCodeStyle];// CNY12,342,323.56货币形式NSNumber *number = @(12342323.55665);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterCurrencyPluralStyle];// 12,342,323.56⼈民币会计形式NSNumber *number = @(12342323.55665);NSString *numStr1 = [NSNumberFormatter localizedStringFromNumber:number numberStyle:NSNumberFormatterCurrencyAccountingStyle];// ¥12,342,323.562:初始化NSNumberFormatter对象,使⽤- (NSNumber *)numberFromString:(NSString *)string;定制格式化NSNumber到NSString不指定任何样式(numStyle),默认(NSNumberFormatterNoStyle)四舍五⼊,其他的样式同以上1中所介绍的NSNumber *number = @(12342323.55665);NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];// 指定货币样式formatter.numberStyle = NSNumberFormatterDecimalStyle;// ⾃定义样式[formatter setPositiveFormat:@"###0.###"];// 数字之间的分隔符[formatter setDecimalSeparator:@":"];[formatter setCurrencyDecimalSeparator:@","];// 前缀符号formatter.positivePrefix = @"!";// 后缀符号formatter.positiveSuffix = @"元";// 间隙中添加的符号formatter.paddingCharacter = @"?";// 格式的宽度formatter.formatWidth = 15;// 最少展⽰两位⼩数formatter.minimumFractionDigits = 2;// 最多展⽰三位整数formatter.maximumIntegerDigits = 5;NSString *numStr = [formatter stringFromNumber:number];// 323:557元百分⽐样式展⽰NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];[numberFormatter setPositiveFormat:@"0.00%;0.00%;-0.00%"];NSLog(@"%@", [numberFormatter stringFromNumber:@4.0]);// Output: "400.00%".// 本地化NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];[numberFormatter setLocale:usLocale];NSLog(@"en_US: %@", [numberFormatter stringFromNumber:@4.0]);// Output: "en_US: 400%".NSLocale *faLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"fa_IR"];[numberFormatter setLocale:faLocale];NSLog(@"fa_IR: %@", [numberFormatter stringFromNumber:@4.0]);// Output: "fa_IR: ٪۴۰۰."总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。

IOS开发:NSArray详解

IOS开发:NSArray详解

NSMutableArray
NSMutableArray是NSArray的子类,继承了 NSArray的所有方法,并添加了新的方法 NSMutableArray用来处理可变数组
NSMutableArray常用方法
+arrayWithCapacity:为可变数组指定初始容量
-addObject:向可变数组的末尾添加一个元素
第二十一章:数组
NSArray
Foundation中数组(NSArray)是有序的对象集合
NSArray只能存储Objective-C的对象,而不能存储 像int、float这些基本数据类型,但是Objective-C对C 兼容,所以在Objective-C程序中,仍然可以使用C的 数组来存储基本数据类型
NSArray一旦创建便不可以再对它就进行更改,如果 要进行对数组的增、删、改等操作的话,需要使用 NSArray的子类NSMutableArray来创建对象
NSArray常用方法
+arrayWithObjects:使用一组对象创建一个数 组(注: 1,该方法可以接收可变数目的参数。2, 最后一个值指定为nil,表示参数列表结束) -objectAtIndex:用数组索引检索数组中的元素 -count:返回数组元素个数
-addObjectsFromArray:将另外一个数组的所有元素添加 到调用该方法的数组中 -insertObject:atIndex:将一个元素添加到数组指定的位置 上 -removeObjectAtIndex:移除数组中指定位置上元素 -removeObject:移除数组中指定元素
快速遍历
for(类名 *对象名 in 需要遍历的对象) { //. . . }
定义三个新类,分别名为公司(Company)、部 门(Departments)、员工(Person)。Company对 象包含关于公司的信息,比如公司名称、公司简介、 注册资金、公司性质等,Departments对象包含关于部 门信息,比如部门名,营业额;Person包含员工信息, 比如姓名,年龄,工资。定义上述的三个类,并编写 方法实现下列任务 1.创建一个Departments对象,并可以给部门添加和 删除员工 2.创建一个Company对象,并可以给公司组建和解 散部门,统计该公司有多少部门,统计该公司有多少 员工,统计该公司总营业额,统计该公司员工平均工 资

详解iOSApp开发中Cookie的管理方法

详解iOSApp开发中Cookie的管理方法

详解iOSApp开发中Cookie的管理⽅法⼀、何为CookieCookie是⽹站为了便是终端⾝份,保存在终端本地的⽤户凭证信息。

Cookie中的字段与意义由服务端进⾏定义。

例如,当⽤户在某个⽹站进⾏了登录操作后,服务端会将Cookie信息返回给终端,终端会将这些信息进⾏保存,在下⼀次再次访问这个⽹站时,终端会将保存的Cookie信息⼀并发送到服务端,服务端根据Cookie信息是否有效来判断此⽤户是否可以⾃动登录。

⼆、iOS中进⾏Cookie管理的两个类iOS中进⾏HTTP⽹络请求Cookie管理主要由两个类负责,⼀个类是NSHTTPCookieStorage类,⼀个是NSHTTPCookie类。

1.NSHTTPCookieStorageNSHTTPCookieStorage类采⽤单例的设计模式,其中管理着所有HTTP请求的Cookie信息,常⽤⽅法如下://获取单例对象+ (NSHTTPCookieStorage *)sharedHTTPCookieStorage;//所有Cookie数据数组其中存放NSHTTPCookie对象@property (nullable , readonly, copy) NSArray<NSHTTPCookie *> *cookies;//⼿动设置⼀条Cookie数据- (void)setCookie:(NSHTTPCookie *)cookie;//删除某条Cookie信息- (void)deleteCookie:(NSHTTPCookie *)cookie;//删除某个时间后的所有Cookie信息 iOS8后可⽤- (nullable NSArray<NSHTTPCookie *> *)cookiesForURL:(NSURL *)URL;//获取某个特定URL的所有Cookie数据- (void)removeCookiesSinceDate:(NSDate *)date NS_AVAILABLE(10_10, 8_0);//为某个特定的URL设置Cookie- (void)setCookies:(NSArray<NSHTTPCookie *> *)cookies forURL:(nullable NSURL *)URL mainDocumentURL:(nullable NSURL *)mainDocumentURL; //Cookie数据的接收协议/*枚举如下:typedef NS_ENUM(NSUInteger, NSHTTPCookieAcceptPolicy) {NSHTTPCookieAcceptPolicyAlways,//接收所有Cookie信息NSHTTPCookieAcceptPolicyNever,//不接收所有Cookie信息NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain//只接收主⽂档域的Cookie信息};*/@property NSHTTPCookieAcceptPolicy cookieAcceptPolicy;系统下⾯的两个通知与Cookie管理有关://Cookie数据的接收协议改变时发送的通知FOUNDATION_EXPORT NSString * const NSHTTPCookieManagerAcceptPolicyChangedNotification;//管理的Cookie数据发⽣变化时发送的通知FOUNDATION_EXPORT NSString * const NSHTTPCookieManagerCookiesChangedNotification;2.NSHTTPCookieNSHTTPCookie是具体的HTTP请求Cookie数据对象,其中属性⽅法如下://下⾯两个⽅法⽤于对象的创建和初始化都是通过字典进⾏键值设置- (nullable instancetype)initWithProperties:(NSDictionary<NSString *, id> *)properties;+ (nullable NSHTTPCookie *)cookieWithProperties:(NSDictionary<NSString *, id> *)properties;//返回Cookie数据中可⽤于添加HTTP头字段的字典+ (NSDictionary<NSString *, NSString *> *)requestHeaderFieldsWithCookies:(NSArray<NSHTTPCookie *> *)cookies;//从指定的响应头和URL地址中解析出Cookie数据+ (NSArray<NSHTTPCookie *> *)cookiesWithResponseHeaderFields:(NSDictionary<NSString *, NSString *> *)headerFields forURL:(NSURL *)URL;//Cookie数据中的属性字典@property (nullable, readonly, copy) NSDictionary<NSString *, id> *properties;//请求响应的版本@property (readonly) NSUInteger version;//请求相应的名称@property (readonly, copy) NSString *name;//请求相应的值@property (readonly, copy) NSString *value;//过期时间@property (nullable, readonly, copy) NSDate *expiresDate;//请求的域名@property (readonly, copy) NSString *domain;//请求的路径@property (readonly, copy) NSString *path;//是否是安全传输@property (readonly, getter=isSecure) BOOL secure;//是否只发送HTTP的服务@property (readonly, getter=isHTTPOnly) BOOL HTTPOnly;//响应的⽂档@property (nullable, readonly, copy) NSString *comment;//相应的⽂档URL@property (nullable, readonly, copy) NSURL *commentURL;//服务端⼝列表@property (nullable, readonly, copy) NSArray<NSNumber *> *portList;三、清除Cookie清除所有的cookie ⽅法:NSURL *url = [NSURL URLWithString:@""];if (url) {NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url];for (int i = 0; i < [cookies count]; i++) {NSHTTPCookie *cookie = (NSHTTPCookie *)[cookies objectAtIndex:i];[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];}清除某⼀个特定的cookie⽅法:NSArray * cookArray = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:self.loadURL]]; NSString * successCode = @""; for (NSHTTPCookie*cookie in cookArray) { if ([ isEqualToString:@"cookiename"]) { [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; } }清除某⼀个url缓存的⽅法:[[NSURLCache sharedURLCache] removeCachedResponseForRequest:[NSURLRequest requestWithURL:url]];清除所有缓存⽅法:[[NSURLCache sharedURLCache] removeAllCachedResponses];。

nsuserdefaults使用详解 简书

nsuserdefaults使用详解 简书

1. 什么是NSUserDefaults?NSUserDefaults是iOS开发中的一种用户偏好设置存储方式,使用键值对的形式存储数据。

它主要用于存储应用程序的配置信息和用户的偏好设置。

2. NSUserDefaults的使用方法2.1 创建NSUserDefaults对象使用NSUserDefaults时,首先需要获取到NSUserDefaults对象。

可以通过调用[NSUserDefaults standardUserDefaults]方法来获取一个单例对象。

```objective-cNSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];```2.2 存储数据存储数据时,可以使用setObject:forKey:方法,将需要存储的数据以键值对的形式保存到NSUserDefaults中。

```objective-c[defaults setObject:"value" forKey:"key"];```2.3 读取数据读取数据时,可以使用objectForKey:方法,通过指定键值来获取存储在NSUserDefaults中的数据。

```objective-cNSString *value = [defaults objectForKey:"key"];```3. NSUserDefaults的数据类型NSUserDefaults支持存储的数据类型包括:NSString、NSNumber、NSData、NSDate、NSArray、NSDictionary、BOOL、NSInteger、float等基本数据类型。

4. NSUserDefaults的存储原理NSUserDefaults将数据存储在一个plist文件中,该文件位于应用的Library/Preferences目录下。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NSDictionary常用方法
+dictionaryWithObjectsAndKeys:使用键值对创 建不可变字典(列表必须以nil结束) -count: 返回字典中记录 -objectFoDictionary常用方法
+dictionary:创建一个空的可变字典 +dictionaryWithCapacity:创建一个初始化指定 的大小的可变字典
-setObject:forKey:将一对键值对添加到字典中 (如果key已存在,则替换该值) -removeObjectForKey:删除字典中指定key对应 的值
-removeAllObjects:删除字典中所有记录
习题
请你将一个人的信息存放到字典中。然后遍历 这个字典 定义多个字典,将个人信息分别存放在字典中, 然后将字典存放在数组中
第二十二章:字典
概述
NSDictionary是由键值对(key-value)组成的数据集合 键: 可以是任何对象 (通常是NSString类型的对象), 同时键必须是单值 值:可以是任何对象,不能为nil 常用方式:我们根据键来查找相应值 字典有可变的和不可变的,可变的字典中可动态的添加 和删除元素 和数组不同,字典是无序的
相关文档
最新文档