我需要为NSDictionaries一个plist 节省大约14 .每个词典将有5个项目.1-地点名称
2-开始时间
3-完成时间
4-总计
5-附加说明
我一直在阅读,人们建议不要使用plist来获取大量数据.根据上面给出的描述,使用plist是明智的吗?
干杯,Sma
我需要创建一个包含6条记录的xml .plist,其中记录5是来自用户的输入字符串,其余的都是固定数据.我不确定这样做的最佳方法是什么?看起来它应该很简单,但我没有取得多大成功.
需要编写的数据如下所示:
<?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 version="1.0">
<dict>
<key>AREA51</key>
<dict>
<key>ORIGIN</key>
<data>M45</data>
...(4 more records)...
(USER STRING)
...(1 more record)...
</dict>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
我尝试过一些例子,但我认为它们已经过时而且不符合规范.谢谢!
我知道如何使用 plist 设置我的 iOS 应用程序以使其在后台播放音频(= 在 iOS 设备上使用另一个应用程序时)。
一些应用程序,如: - BLOOM - 一些广播播放器
提供了一个基本的 UISwitch 来启用或禁用此行为。
关于如何做到这一点的任何想法?
我正在写一个.NET服务,提供了相匹配的数据texturepacker架构很容易让iOS的开发者使用我产生spritesheets。这是一个基本节点(我还没有找到文档):
<dict>
<key>frame</key>
<string>{{449,767},{139,117}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<true/>
<key>sourceColorRect</key>
<string>{{0,0},{139,117}}</string>
<key>sourceSize</key>
<string>{139,117}</string>
</dict>
Run Code Online (Sandbox Code Playgroud)
除了模式中明显的冗余之外,还有“框架”是目标矩形吗?
什么是 sourceColorRect?如果那只是来源,为什么不这样称呼它并摆脱 sourceSize,因为那是多余的?
另外,什么是偏移量?像注册点一样吗?如果我们不需要原点坐标信息,我可以忽略吗?
理想情况下,这个列表看起来像
- frame (but is this really the destRect?)
- sourceRect
- destRect
- rotated
- offset
Run Code Online (Sandbox Code Playgroud)
也许只给我自己的带有简化数据的 pList 和 iOS 开发人员需要将 image_name 确定为键而忘记“框架”是什么的准系统会更容易。
看起来我可能是唯一一个尝试这样做的人,或者它是如此简单,除了我之外的每个人都已经知道如何做了!
网站请求返回 plist 响应,响应以字符串形式接收。然后我如何将该plist“字符串”放入字典中?
let url = NSURL(string: "http://...")
let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
var request = NSMutableURLRequest(URL: url!, cachePolicy: cachePolicy, timeoutInterval: 2.0)
request.HTTPMethod = "POST"
let boundaryConstant = "----------V2ymHFg03esomerasdfsalfkjlksjdfy"
let contentType = "mulutipart/form-data; boundary=" + boundaryConstant
NSURLProtocol.setProperty(contentType, forKey: "Content-Type", inRequest: request)
var dataString = ""
let requestBodyData = (dataString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
request.HTTPBody = requestBodyData
var response: NSURLResponse? = nil
var error: NSError? = nil
let reply = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &error)
let results = NSString(data: reply!, encoding: NSUTF8StringEncoding)
Run Code Online (Sandbox Code Playgroud)
results …
我一直在尝试最长的时间,从plist到TableView显示一个字典数组.这是.plist文件的片段.
<array>
<dict>
<key>dexNumber</key>
<integer>1</integer>
<key>formOrder</key>
<integer>1</integer>
<key>iconFilename</key>
<string>pokemon-icon-1.png</string>
<key>name</key>
<string>Bulbasaur</string>
<key>yield</key>
<dict>
<key>attack</key>
<integer>0</integer>
<key>defense</key>
<integer>0</integer>
<key>hp</key>
<integer>0</integer>
<key>spAttack</key>
<integer>1</integer>
<key>spDefense</key>
<integer>0</integer>
<key>speed</key>
<integer>0</integer>
</dict>
</dict>
<dict>
<key>dexNumber</key>
Run Code Online (Sandbox Code Playgroud)
代码永远不会到达(返回self.data.count),因为它总是返回Unexpected nil,同时在第三行展开可选项.
if let path = NSBundle.mainBundle().pathForResource("dex", ofType: "plist"){
if let dict = NSDictionary(contentsOfFile: path){
data = dict.objectForKey("name") as! [String]
}
}
Run Code Online (Sandbox Code Playgroud)
将(let dict = NSDictionary)更改为(let dict = NSArray)让我可以使用println在控制台上打印出数据,但它不会让我在tableview上显示任何数据.此外,该方法只允许我查看包含其所有键的1个数组,而不是查看一个键的所有字典对象.
尝试以NSDictionary的形式查看文件的任何实例始终返回nil.任何以NSArray形式返回的实例都会给出无法在tableview上显示的结果,但可以使用println在控制台上显示.此代码段是打印结果的代码示例.
let resultDictionary = NSArray(contentsOfFile: path)
println("Loaded dex.plist file is --> \(resultDictionary?.description)")
var myDict = NSArray(contentsOfFile: path)
if let dict = myDict …Run Code Online (Sandbox Code Playgroud) 我正面临部署企业iOS应用程序的问题.
以下是从Web服务下载应用程序的示例链接:'itms-services://?action = download-manifest&url = https://location.company.com/sites/mobile/Files/Mobile/deploy/app.plist '.
我在同一个Web服务器上托管了一个html和ipa文件.
当我尝试从服务器下载应用程序时,我收到一个错误:
"无法连接到服务器"
设备登录Xcode显示,下面的日志:
TOM-iPhone itunesstored [106]:无法加载带有底层错误的下载清单:Error Domain = SSErrorDomain Code = 2"无法连接到iTunes Store"UserInfo = {NSLocalizedDescription =无法连接到iTunes Store}
它表示在以下位置丢失app.plist时 出错:https://location.company.com/sites/mobile/Files/Mobile/deploy/app.plist
如何创建新的app plist?
在这里,我看到了示例plist但是如何为我的应用程序创建plist?
我是快速编程的新手.我正在尝试学习plist文件.我有一个plist文件,其中包含国家,州和城市的数据.我想迭代plist文件的数据.但我无法理解如何创建数组或字典来存储国家,州和城市的数据.你能帮我讲一下如何操作plist文件的以下数据吗?
{
Country = (
{
CountryName = India;
State = (
{
City = (
Ahmedabad,
Vadodara,
Surat,
Aanand,
Bharuch
);
StateName = Gujrat;
},
{
City = (
Mumbai,
Pune,
Nagpur,
Nasik,
Thane
);
StateName = Maharastra;
},
{
City = (
Kochi,
Kanpur,
Alleppey,
Thrissur,
Thiruvananthapuram
);
StateName = Kerala;
}
);
},
Run Code Online (Sandbox Code Playgroud) 我创建了自己的 pod,其中包含 s.version = "0.4.7" 的 podspec 文件,我希望以编程方式将其写入代码,因此每当应用程序运行时,它都会将 pod 版本发送到服务器。
获取 pod 版本的另一个地方是从下面的 plist 文件,即“捆绑版本字符串”0.4.7
我试过使用,let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String但它从 Apps Info.plist 文件中获取版本。
在Project/SupportingFiles/en.lproj/InfoPlist.strings我有这个值:
NSUserTrackingUsageDescription = "虚拟";
它是一个本地化 InfoPlist.strings文件,可以是多种语言。在本例中,该文件夹en.lproj适用于英语。
例如,假设在编译之前我可以写入NSUserTrackingUsageDescription一个值,并且我需要确保它在运行时是否是“虚拟”。
NSUserTrackingUsageDescription是否可以在运行时使用Swift 检查 Swift 是否为“dummy”或另一个字符串?
我正在做一项研究,但找不到任何 Swift 代码来检查。
我尝试使用以下代码:
let string = Bundle.main.infoDictionary!["NSUserTrackingUsageDescription"] as! String
if (string == "dummy"){
logger.debug("NSUserTrackingUsageDescription is dummy")
}else{
logger.debug("NSUserTrackingUsageDescription is \(string)")
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它输入了 else 并打印了以下内容:
LauncherViewController.requestAppTrackingTransparencyPermission():131
- NSUserTrackingUsageDescription 是虚拟的,替换为 InfoPlist.strings 的翻译
不知道为什么系统要, replaced with translation from InfoPlist.strings添加dummy。
我想得到一个字符串的值.值在NSDictionnary中,但NSDIctionnary在NSArray中.
我怎样才能获得价值?例如,我想获得关键字"路径"的字符串
谢谢你的帮助.
<array>
<dict>
<key>path</key>
<string>2.mov</string>
<key>width</key>
<string>768</string>
<key>height</key>
<string>1024</string>
</dict>
</array>
Run Code Online (Sandbox Code Playgroud) 我有一个用 swift 编写的命令行工具,可以编辑 xcode 项目设置。
我需要能够从 .entitlements 文件中删除“密钥”。
具体情况是我有一些项目不支持关联域但我需要删除整个
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:xxx.page.link</string>
</array>
Run Code Online (Sandbox Code Playgroud)
以优雅的方式从文件中删除,因为仅将数组留空意味着项目指示使用关联的域,但事实并非如此。
简而言之,使用 swift 从 plist 中删除一个键。
嗨StackOverflow开发人员,我有一个问题,我如何设置我的Info.plist可编程是或否.所以我的应用程序支持Backgroung Locaton更新.但是,正如所有iOS Devlopers都知道它像坚果一样杀死电池.所以我想检测iphone是否插入然后只支持后台访问,如果没有插入我们可以用户[locationmanger startMonitoringSignificantLocationChanges] ;. 谢谢你的帮助.
plist ×13
ios ×11
swift ×6
objective-c ×4
xcode ×4
nsarray ×2
nsdictionary ×2
audio ×1
background ×1
cocoa ×1
cocoapods ×1
deployment ×1
dictionary ×1
info-plist ×1
runtime ×1
sprite-sheet ×1
swift4 ×1
uitableview ×1