转载请注明本文章来自 x1135768777
其实写入不到真机里面主要是你写入时,当前那文件夹里你要写入的plist根本不存在
所以你怎么写都写不进去,所以你必须先创建你要写入的plist;
你用这样初始化程序就能自己创建:
NSMutableArray *dictplist = [[NSMutableArray alloc] init];
[dictplist insertObject:markName atIndex:0];
[dictplist writeToFile:plistPath atomically:YES];
直接下面这种是不行的
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
[array insertObject:markName atIndex:0];
[array writeToFile:plistPath atomically:YES];
下面是具体的实现方法
一般plist 的写入位置在
写入文件的位置:(Library文件夹)
NSString *lib = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
NSString *libPath = [lib stringByAppendingString:@"/Caches"];
NSString* plistPath = [libPath stringByAppendingFormat:@"/bookmark.plist"];
NSLog(@"%@",plistPath);
if(![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
NSMutableArray *dictplist = [[NSMutableArray alloc] init];
[dictplist insertObject:markName atIndex:0];
[dictplist writeToFile:plistPath atomically:YES];
NSLog(@"------1-----%@",dictplist);
}
else
{
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
[array insertObject:markName atIndex:0];
[array writeToFile:plistPath atomically:YES];
NSLog(@"-------2----%@",array);
}
写入文件的位置:( Document 文件夹)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//获取完整路径
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"test2.plist"];
NSLog(@"%@",plistPath);
if(![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
NSMutableArray *dictplist = [[NSMutableArray alloc] init];
[dictplist insertObject:markName atIndex:0];
[dictplist writeToFile:plistPath atomically:YES];
NSLog(@"------1-----%@",dictplist);
}
else
{
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
[array insertObject:markName atIndex:0];
[array writeToFile:plistPath atomically:YES];
NSLog(@"-------2----%@",array);
}
下面的是参考 http://blog.csdn.net/smallsky_keke/article/details/7431277
这篇文章是自己通过实践获取,在网上查过很多资料,也走了不上的弯路,由于刚开始学子不久,只是把自己遇到的问题贡献给大家
一,创建文件
//获取路径对象
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
//获取完整路径
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"test.plist"];
NSMutableDictionary *dictplist = [[NSMutableDictionaryalloc ] init];
//设置属性值
[dictplist setObject:@"张三" forKey:@"name"];
[dictplist setObject:@"李四"forKey:@"name1"];
[dictplist setObject:@"王五"forKey:@"name2"];
//写入文件
[dictplist writeToFile:plistPath atomically:YES];
这个是创建了一个简单的plist文件,创建后的图1为:
下面是创建了一种多键值的plist文件,代码和图如下:
//获取路径对象
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
//获取完整路径
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"test.plist"];
NSMutableDictionary *dictplist = [[NSMutableDictionaryalloc ] init];
//定义第一个插件的属性
NSMutableDictionary *plugin1 = [[NSMutableDictionaryalloc]init];
[plugin1 setObject:@"张三"forKey:@"name1"];
[plugin1 setObject:@"李四"forKey:@"name2"];
//定义第二个插件的属性
NSMutableDictionary *plugin2 = [[NSMutableDictionaryalloc]init];
[plugin2 setObject:@"王五"forKey:@"name1"];
[plugin2 setObject:@"赵斌"forKey:@"name2"];
//设置属性值
[dictplist setObject:plugin1 forKey:@"初一班"];
[dictplist setObject:plugin2 forKey:@"初二班"];
//写入文件
[dictplist writeToFile:plistPath atomically:YES];
图2:
针对图1进行修改的程序,代码如下:
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0]stringByAppendingPathComponent:@"test.plist"];
NSMutableDictionary *applist = [[[NSMutableDictionaryalloc]initWithContentsOfFile:path]mutableCopy];
NSString *name = [applist objectForKey:@"name"];
name = @"山山";
[applist setObject:name forKey:@"name"];
[applist writeToFile:path atomically:YES];
执行后如下图:
针对图2进行修改的程序,代码如下:
[dictplist writeToFile:plistPath atomically:YES];
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"test.plist"];
//根据路径获取test.plist的全部内容
NSMutableDictionary *infolist= [[[NSMutableDictionaryalloc]initWithContentsOfFile:path]mutableCopy];
//获取初一班的信息
NSMutableDictionary *info = [infolist objectForKey:@"初一班"];
NSString *name1 = [info objectForKey:@"name1"];
name1 = @"山山";
[info setValue:name1 forKey:@"name1"];
[infolist setValue:info forKey:@"初一班"];
[infolist writeToFile:path atomically:YES];
图如下:
以上两个修改信息的地方,必须要加入红色标记的方法,才能在表里进行增改操作。
以上是个人的学习心得,请大家多多指教。
127.0.0.1:6379> shutdown nosave立即shutdown nosave服务器(这一条不会写入aof),因为当你flushall后,可能还要好几分钟rdb(数据还没存储),这时候aof可能还没有重写,你这时候shutdown nosave服务器,防止其他进程写数据,导致aof重写,只要aof没有重写,然后手工进aof文件修改flushall相关行,这样就不会导...
来源|机器之心在本文中,本土独角兽依图科技提出了一个小而美的方案——ConvBERT,通过全新的注意力模块,仅用 1/10 的训练时间和 1/6 的参数就获得了跟 BERT 模型一样的...
一、简介Xception并不是真正意义上的轻量化模型,只是其借鉴depth-wise convolution,而depth-wise convolution又是上述几个轻量化模型的关键点,所以在此一并介绍,其思想非常值得借鉴。Xception是Google提出的,arXiv 的V1 于2016年10月公开。论文标题:《Xception: Deep Learning with Depth...
本篇将介绍如何编译 Android 固件。
尽管内核代码的大部分 bug 以 oops 消息结束, 有时候它们可能完全挂起系统. 如果系 统挂起, 没有消息打印. 例如, 如果代码进入一个无限循环, 内核停止调度,[15]15并且系 统不会响应任何动作, 包括魔术 Ctrl-Alt-Del 组合键. 你有 2 个选择来处理系统挂起-- 或者事先阻止它们, 或者能够事后调试它们.你可阻止无限循环通过插入 schedule ...
文章目录1.架构1.1 Kafka1.2 Pulsar2.消息存储模型2.1 Kafka2.2 Pulsar3.消息消费模型3.1 Kafka3.2 Pulsar4. 多租户4.1 Pulsar4.2 Kafka5.运维5.1 集群部署5.2 扩容5.3 云原生支持5.4 替换broker1.架构1.1 Kafkabrocker和zk组成1.2 PulsarPulsar Broker会在本地缓存消息,并且支持TTL,Pulsar 通过分层架构, 将计算和存储分离, 存储采用BookKeepe
PaperWeekly 原创 ·作者|燕皖单位|渊亭科技研究方向|计算机视觉、CNN在现实生活中,无标签的数据易于获取,而有标签的数据收集起来通常很困难,标注也耗时和耗力。在这种情况...
计算机网络在IT行业的重要性IT即互联网技术,从事的工作和网络有很大的关系,前端要负责和后台(服务器)进行交互,其必然得经过网络,所以懂点网络知识有很大的帮助。网络模型数据处理过程传输层协议的作用 提供了一种端到端(end to end)的连接,一般为前端和后台服务器的连接 由于网络层只管传递数据,并不关心成功与否,TCP协议在数据丢失、损坏的情况下保证数据的可靠性...
原文地址 EMR资讯: 在北京举行的Strata Data 会议上,EMR团队的木艮进行了《Hadoop遇到云上对象存储——实现原理、陷阱和性能优化》的主题分享 EMR + ECS D1机型的数据高可靠方案进行中,8月底将会正式提供服务。 EMR团队将会在Hadoop上进行...
在VC编程遇到了一个奇怪的问题。我建了一个对话框工程,首先是用ClassWizard给对话框类添加了一些对应编辑框的CString变量,通过手动添加了另外一些变量,接着我准备利用ClassWizard添加一些消息函数,突然弹出一个警告对话框,如下图: 我很纳闷:我又没有编译运行,怎么会有警告框呢?既然警告框提示了我添加的变量,我以为是少了;之类的错误
下载安装1解压下载好的mysql-5713-winx64zip到你需要安转的目录egDmysql2配置解压目录下的my_defaultini中命名为myini3添加环境变量4初始化5启动mysql6进入msyql并设置密码连接到远程的mysql下载地址:http://dev.mysql.com/downloads/file/?id=463242安装1、解压下载好的mysql-5.7.
1.将喜欢的图标添加到库中后加入项目,使用Symbol的方式下载到本地2.下载后将文件解压加入到你的项目中:3.在main文件中引入入iconfont.css和iconfont.js文件4.打开iconfont.css文件,将以下代码加进去[class^="el-icon-ch"],[class*=" el-icon-ch"]/*这里有空格,名字随意*/*{ font-fam...