(有码)读取和写入自定义对象 plist文件解析

Windows环境下解析苹果Plist文件的实践 在探讨Plist文件的应用之前,我们必须先理解Plist文件究竟是什么。Plist(Property List)文件是苹果操作系统中用于存储各种配置信息和用户偏好设置的文件格式。它们在iOS和macOS等系统中广泛使用,用于保存应用程序的设置以及系统配置。Plist文件有两种格式:XML格式和二进制格式,每种格式都有其特定的使用场景和优势。Plist文件的应用非常广泛,例如保存应用的设置状态、用户界面布局参数、窗口大小和位置、网络连接信息、以及其他各种需要持久化的键值对数据。 阅读详情
读取和写入自定义对象
获取单例
工程创建以后,就会生成一个自己的偏好配置文件,不可以存储自定义对象

NSUserDefaults *defaults = [NSUserDdefaults standarUserDefaults];

写入数据
NSString *string = @"www.baidu.com";
[defaults setObject:string forKey:@"百度"]; //给字符串一个key

同步数据
[defaults synchronize];

取数据
string = [defaluts objectForKey:@"百度"];

移除数据
string = [default objectForKey:@"百度"];

重置文件(清空缓存)
[NSUserDefaults resetStanderUserDefaults];

存入字典
NSDictionary *dict = defaults.dictionaryRepresentation;
[dic writeToFile:@"地址/文件名.类型名" atomically:YES];


Plist文件解析(根只能是数组 字典)
atomically:YES 表示写文件时,先把数据写到一个副本中,数据全部写入后,再放到目标路径下


写入文件
NSArray *array = @[@"1",@"2",@"3",@"4"];
[array writeToFile:@"文件路径.plist" atomically:YES];

读取文件
NSArray *array = [NSArray arrayWithContentsOfFile:@"路径.plist"];
在Android中解析iOS plist文件的详细指南 plist(Property List)文件是苹果公司开发的一种文件格式,用于存储配置信息,类似于XML或JSON文件。它有两种表现形式:二进制和XML,分别适用于不同的应用场景,如资源管理、数据持久化等。在IT行业,尤其是移动应用开发领域,了解plist文件的结构和读取方法对于保证应用的高效运行至关重要。Apple的开发环境Xcode提供了内置工具和API来读写plist文件,但作为一个IT专业人士,更深入地掌握plist文件的操作可以大幅提高开发效率和应用的性能表现。 阅读详情

相关推荐

基于Cocos2dx的Plist解析工具

Plist解析工具使用Cocos2dx(v 3.15)封装解析Plist方法(需要plist和对应的png文件),然后用WPF(.Net 4.0)调用Cocos2dx程序,实现了Plist的可视化解析。

iOS - Plist 数据解析


 前言 NS_AVAILABLE(10_6, 4_0) @interface NSPropertyListSerialization : NSObject 如果对象是 NSArray 或 NSDictionary 可以将对象保存到 Plist 文件中,当根据 NSDictionary 创建 Plist 时,NSDictionary 中的键必须都是 NSSt...

rstbfveradsvc 410

Plist文件查看器

用VS2010中的MFC写的,比上一版好看! 解析.plist文件!

plist java_Java 完美解析.plist & 生成plist ,Android 解析.plist

今天调试接口,是Apple的接口,格式是plist ,有点像xml ,但是不是xml 的协议。开始找了几个网上现成的,测试都有问题。然后找到这个。测试完美解析。Java代码解析.plistcom.googlecode.plistdd-plist1.20直接摘取我解析的代码。对照看看。//传入byte[]NSObject xx = XMLPropertyListParser.par...

weixin_42431713的博客 778

plist 反解析工具

TexturePacker 打包成的plist文件反解析成小文件 界面不好看,简单写了下

Anti_TexturePacker(plist解析工具) v1.7最新版.zip

Anti_TexturePacker是是一款TexturePacker辅助工具,由作者“偶尔e网事”开发并提供分享,主要功能是TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。同时也可以将合成的png图裁剪为小png图保存,有需要的赶快下载吧! Anti_TexturePacker(plist解析工具)功能介绍 1、显示由TexturePacker打包的PNG图(导入或者拖拽) 2、读取所有小图片的信息并显示在列表中 3、随鼠标移动小图片名字实时显示 4、右键点击小图片复制图片名到剪切板 5、点击列表中小图片,图片自动高亮红框 6、裁剪所有小图片到指定文件夹,并自动命名 Anti_TexturePacker(plist解析工具)使用方法 1、将同名png和plist文件放置在同一目录下。 2、点击“导入png”按钮选择png图,或者直接拖拽png/plist/pack进对话框。 3、鼠标在png图上滑动,右上角即可显示对应的png图名字。 4、单击png图即可复制名字到剪切板。 5、双击列表选项,PNG中自动显示红框。 6、点击“裁剪PNG”,选择存放目录,即可进行剪裁。 Anti_TexturePacker(plist解析工具) v1.7更新日志 修复: 1.移除联网检测更新,避免崩溃

plist解析

// //  ViewController.m //  08-plist解析 // //  Created by 唐帅 on 16/7/10. //  Copyright © 2016年 tang. All rights reserved. // #import "ViewController.h" @interface

Code Store 1466

plist文件解析CutPNG

plist文件解析CutPNG 一款解析 plist文件的工具 .plist ) 文件格式是一种简单的序列化格式,它支持一些基本对象类型

plist详解

我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除。 如果你在网上下载的工程中的这个文件名只是Info.plist,那么恭喜你,这个工程太老了,是用包含SDK2.0以前的Xcode生成的,不过没关系,不影响使用。 如果你使用文本编辑器打开这个文件,你会发现这是一个XML格式的文

u011025344的专栏 1581

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3734

Mplus实战:随机截距交叉滞后模型(RI-CLPM)在心理学纵向研究中的进阶应用

本文深入探讨了随机截距交叉滞后模型(RI-CLPM)在心理学纵向研究中的进阶应用,通过Mplus实战演示了模型设定、结果解读及进阶建模策略。RI-CLPM能有效区分个体间差异和个体内变化,适用于追踪青少年手机使用与抑郁症状等研究。文章还提供了样本量规划、模型比较和结果可视化等实用技巧,助力研究者避免常见陷阱。

weixin_29220405的博客 369

​plistlib --- 生成与解析 Apple .plist 文件​

此模块提供了可读写 Apple "property list" 文件的接口,它主要用于 macOS 和 iOS 系统。此模块同时支持二进制和 XML plist 文件。.plist) 文件格式是一种简单的序列化格式,它支持一些基本对象类型,例如字典、列表、数字和字符串等。通常使用一个字典作为最高层级对象。要写入和解析 plist 文件,请使用和函数。要以字节串对象形式操作 plist 数据,请使用和。值可以为字符串、整数、浮点数、布尔值、元组、列表、字典(但只允许用字符串作为键)、或对象。

C'mon的博客 927

Protege新手必看:从安装到建模的完整指南(附推理功能详解)

本文为Protege新手提供从安装、配置到核心建模的完整实战指南。详细讲解了Java环境准备、本体项目创建、类与属性定义、个体填充等关键步骤,并重点解析了推理功能的配置与使用,帮助读者快速构建可逻辑推理的知识图谱,避开常见陷阱。

numpy6sculptor的博客 797

iOS Plist解析(官方链接)

https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.htmlCocoa KeysCocoa and Cocoa Touch are the environments used to define Objec

WhatRU的博客 1369

光学系统设计:波段、光源、光纤与探测器匹配指南

在光学测量和光纤通信系统中,波段、光源、光纤和探测器的匹配关系是系统设计的核心基础。波段指电磁波谱中的特定波长范围,光源负责产生特定波长的光信号,光纤作为传输介质需要与波长匹配以降低损耗,探测器则负责将光信号转换为电信号。理解各组件的光谱特性对于系统性能至关重要,例如在850nm短波长多模光纤系统中,VCSEL激光器与PIN光电二极管的组合能提供最佳性价比。典型应用场景包括生物医学成像、光纤通信和气体传感,其中光谱重叠优化、模场直径匹配和偏振特性协调是关键技术要点。通过实测数据对比不同组合的传输性能,可以为

weixin_33812433的博客 338

18、偏微分方程数值计算:粘性不可压缩流与电磁学的有限元方法

本文系统介绍了偏微分方程数值计算在粘性不可压缩流与电磁学中的应用,重点探讨了稳态与非稳态Navier-Stokes问题的混合有限元方法及求解技术,包括弱形式构建、半离散与时间离散格式、牛顿迭代法等。同时,详细阐述了电磁学中Maxwell方程的有限元与时域有限差分法(FDTD)求解方法,涵盖时间谐波与时域波方程、边界条件处理、稳定性分析与误差估计。结合MATLAB代码示例和实际案例,展示了速度场、压力、电场与磁场的数值模拟过程,并通过流程图与表格对比了两类问题的方法原理、应用场景与收敛性特性。最后展望了多物理

lemon的博客 88

python 生成与解析 .plist 文件

最近需要访问一个在线网址获取数据,该文件接近10mb,是 XML 格式的 plist 文件,所以打算访问网址获取数据后,先存到本地,再读取文件,访问数据。生成和解析 plist 文件需要导入 plistlib 库;从一个 bytes 对象加载 plist 文件使用 loads() 函数,写入 plist 文件使用 dump() 函数,解析 plist 文件使用 load() 函数,得到的结果为字典类型,可直接访问具体键值对。 import requests from plistlib i...

Inite的博客 2236

【BUG已解决】ImportError: cannot import name ‘OpenAI‘ from ‘openai‘ 解决方案

的核心是版本不匹配用确认当前版本如果是 0.x 版本 →升级到 1.x升级后代码语法要同步改为团队协作项目务必在中锁定版本号,避免"我这能跑,你那不能跑"的问题对接国产模型时,只需替换base_url参数,SDK 调用方式完全一致。

一键难忘的博客 1万+

告别手写代码!这个 Plist 在线工具封神

挖到超好用的 Plist 文件在线生成工具还在手动写 Plist 代码、反复调试格式?这个工具直接封神👇✅ 无需懂代码,网页端填写参数就能自动生成标准 Plist 文件✅ 支持自定义键值对、数组 / 字典类型,格式实时校验不报错✅ 生成后一键下载 / 复制代码,适配 IPA 打包、推送配置、应用上架✅ 无广告无付费,新手也能零门槛搞定不管是做 iOS 应用配置,还是调试推送证书,用它省超多时间,真心安利!如果不知道怎么查看苹果包名 可以通过咕噜分发【工具箱】-【IOS证书在线检测】-【上传ipa包】

2401_83229810的博客 131

【GlobalMapper精品教程】006:Excel表格(.xls)或文本(.txt .csv)坐标文件生成矢量点

原始的坐标数据如下图所示,其中坐标为Lat经度,LNG纬度,均为十进制度的形式,一般软件都支持十进制度的格式,如果不支持,你可以尝试使用度分秒的形式,图中的DDMMSS-LAT为纬度,DDMMSS-LNG为经度。打开globalmapper软件,点击【打开数据文件】,选择坐标数据文件(案例中的数据位配套实验数据包中的data006.rar)气象台站分布点坐标.xls。选择坐标系:本案例数据采用的是经纬度,因此选择Geographic(Latitude/Longitude),基准选择WGS84,点击确定。

智慧空间实验室 2570

肖特基二极管选型参数,结构原理,工艺与注意问题总结

肖特基二极管(Schottky Diode)是一种特殊的二极管,也被称为肖特基势垒二极管。它是利用金属与半导体接触形成的金属-半导体结原理制成的。与传统的PN结二极管相比,肖特基二极管具有更低的正向压降、更高的开关速度、更高的反向恢复时间以及更好的温度稳定性等特点。本文对肖特基二极管的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 812

ios plist解析工具类

ios安装包解析工具类,解析拿到info.plist和config.plist的信息

yujiubo2008的专栏 1052

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android - plist文件解析

Android解析plist文件 : plist文件示例 : <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist

一名小安卓的博客 2504

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

推荐一款强大的Android plist解析器:android-plist-parser

android-plist-parser: 快速解析Android.plist文件 是一个强大的工具库,用于快速、高效地解析Android的plist文件。如果你正在处理与iOS相关的开发任务,需要在Android平台上读取或操作.plist文件,那么这个项目将为你提供极大的便利。 项目简介 android-plist-parser是一个Java实现的开源库,它能够轻松地解析Android系统中的...

gitblog_00004的博客 517

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何打开 plist 文件

安卓手机无法打开.plist文件进行编辑,想要打开.plist文件进行编辑时,需要在PC端进行操作;打开的【Chooseaplistfile】窗口中,找到要打开Plist文件后,点击右下角的【打开】;在过去,plist 文件通常是以.plist 格式存储的。由于 plist 文件是 XML 格式,因此可以使用 appuploader 工具将其转换为二进制格式,然后再上传到 App Store。此外,appuploader 工具只能上传 plist 文件,不能上传其他类型的文件,如 json、xml 等。

2301_77125316的博客 652

读取plist文件

//取得mainBundle NSBundle *bundle = [NSBundle mainBundle];  //取得文件路径  NSString *plistPath = [bundle pathForResource:@"文件名" ofType:@"plist"]; // 或可以写成 NSString *plistPath = [[NSBundle mainBundle]

wenhaiwang的专栏 479
上一篇: (有码)KVO 轻量级的观察者模式
下一篇: (有码)UIView常用方法
bin236
博客等级 码龄11年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值