小编Mat*_*tyG的帖子

dictionaryWithContentsOfFile从我的属性列表文件返回nil

我正在学习如何使用plist文件在我的iPhone应用程序中存储数据.我在这个网站上一直在阅读关于plist和dictionaryWithContentsOfFile的一堆问题,但看不出我做错了什么.

以下行返回nil("字典为空"到控制台).

NSLog(@"The dictionary is %@",[NSDictionary dictionaryWithContentsOfFile:@"myFile"]);
Run Code Online (Sandbox Code Playgroud)

myFile.plist文件位于resources文件夹中,包含一些字符串:

<?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>name</key>
    <string>john</string>
    <key>aname</key>
    <string>jen</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

iphone properties objective-c nsdictionary plist

7
推荐指数
1
解决办法
9846
查看次数

访问iOS6 UIPageViewController创建的UIPageControl?

我使用的是UIPageViewController导航设置为水平,过渡样式设置为Scroll(在InterfaceBuilder中),没有脊椎.这给了我一个可爱的UIPageControl集成.现在我希望能够切换它是否正在显示(因为它下面有艺术品).

我已经尝试设置presentationCountForPageViewControllerpresentationIndexForPageViewControllerUIPageControl应该隐藏时返回0 ,但是当我想要时,这些方法没有被调用.

暂停堆栈跟踪,我看到它们被调用[UIPageViewController _updatePageControlViaDataSourceIfNecessary]...我认为如果我尝试使用该方法,我的应用程序将被拒绝.

我应该通过子视图搜索它,还是自己滚动以便我可以控制它,还是有更好的方法来切换它的可见性?

谢谢!

uipagecontrol ios uipageviewcontroller ios6

7
推荐指数
1
解决办法
7340
查看次数

最新的Reachability.m(示例代码版本2.2)与iOS 3.0兼容?

有谁知道Apple的iOS'Reachability'示例代码的2.2版(最新版)是否可以在iOS 3.0上运行?我想支持iOS 3.0,Reachability.h和.m是我在我的应用程序中使用的第一个非框架代码.在我自己的代码中,我通常会阅读我使用的所有方法的文档,并使用respondsToSelector:来实现不能在3.0上运行的方法.当人们使用第三方代码时,他们如何确认它支持哪个iOS而无需针对文档单独检查每个方法?

或者,有谁知道我如何能够获得旧版本的示例代码?(可达性2.1版本可能有所帮助.)

iphone networking cocoa-touch reachability ios3.0

6
推荐指数
1
解决办法
1297
查看次数

为什么Xcode 4自动生成实例变量?

我来自C#开发,刚刚开始学习Objective-C和Xcode 4.据我所知,"@synthesize"正在替换属性的getter/setter方法,如果你不需要检查/控制值被读或写.

但为什么Xcode 4会自动为我创建一个实例变量?

这还不够:

@synthesize myProperty;
Run Code Online (Sandbox Code Playgroud)

代替:

@synthesize myProperty = _myProperty;
Run Code Online (Sandbox Code Playgroud)

如果我没有/需要任何getter或setter,为什么我要使用/拥有实例变量而不是实际属性?

提前致谢!

MemphiZ

编辑:

我知道@synthesize正在取代getter/setter,但这部分有什么用= _myProperty;呢:?如果我可以直接使用"myProperty",为什么我想要一个实例变量?如果setter例如检查值的条件,我会理解使用"_myProperty".如果我想跳过此检查,我会使用_myProperty.但是当我使用@synthesize时,我没有一个可以进行检查的setter.那么我为什么要/想要一个实例变量呢?

回答:

请参阅MattyG帖子中的评论!

properties objective-c ios xcode4 synthesize

5
推荐指数
1
解决办法
2852
查看次数

performSelector:afterDelay:没有保留目标?

我有一个使用NSURLConnection打开与服务器的长连接的类.当连接关闭时,无论是在connectionDidFinishLoading:还是connection:didFailWithError:,我想等待15秒然后重试连接.

目前我使用的[self performSelector:@selector(restartConection) withObject:nil afterDelay:15.0];,但是这会导致不希望的情况下,当对象被其创建者释放,performSelector和NSURLConnections永远保持"自我",它永远不会被释放.

如何在不永久保留对象的情况下执行此操作?任何帮助都会非常感激.

谢谢,-Alec

objective-c nsurlconnection ios automatic-ref-counting

5
推荐指数
2
解决办法
1581
查看次数

虚线/点线关系线在SQL Management Studio - 数据库图表中表示什么

我正在查看Microsoft SQL Server Management Studio中的现有数据库,并且在数据库图表中有一个以虚线或虚线显示的关系.其他关系都是实线.虚线是什么意思?

在此输入图像描述

sql database ssms sql-server-2008 database-diagram

5
推荐指数
1
解决办法
2万
查看次数

本地化一个浮点数并指定iOS中的小数位数

我有一个浮动,我想显示到一个小数位.例如104.8135674 ...以英文显示为104.8.通常我会用:

myString = [NSString stringWithFormat:@"%.1f",myFloat];

但是,我想将数字本地化,所以我试过:

myString = [NSString localizedStringWithFormat:@"%.1f",myFloat];

这适用于分配正确的小数符号(例如

英语:104.8

德语:104,8

但是,对于使用不使用阿拉伯数字(0123456789)的语言,使用正确的小数符号,但数字仍为阿拉伯数字.例如

巴林 - 阿拉伯语:104,8(它应该使用不同的数字符号)

所以我尝试过:

myString = [NSNumberFormatter localizedStringFromNumber:[NSNumber numberWithFloat:myFloat] numberStyle:kCFNumberFormatterDecimalStyle];

但有了这个我似乎无法指定小数位数.它给出了例如

英语:104.813

floating-point cocoa-touch nsstring nslocalizedstring ios

5
推荐指数
1
解决办法
2954
查看次数

防止拖放到当前控件之外(TreeView中的TreeNodes)

我坚持认为在一个窗口多种形式一个Windows应用程序(form1form2form3)。我在治疗其他form2form3此刻的黑盒子。在其中,form1我有一个TreeView,并且正在该TreeView中实现拖放功能。
如何防止在form1控件之外的放置?

我正在实现3个事件处理程序:

private void treeView_ItemDrag (...)
{
    DoDragDrop(e.Item, DragDropEffects.Move);
} 

private void treeView_DragEvent (...) 
{
    e.Effect = DragDropEffects.Move;
}

private void treeView_DragDrop (...)
{
    //the node move logic here
}
Run Code Online (Sandbox Code Playgroud)

form2form3在它们之间具有拖放关系,因此,当我默认将节点从中form1拖入时form3,它允许移动(错误)。我希望能够从form1控制代码中防止这种情况。

如何防止掉落在form1控件之外?我已经看过_DragLeave事件,但不确定如何在没有DragEventArgs的情况下控制操作。

c# treeview drag-and-drop treenode winforms

4
推荐指数
1
解决办法
2007
查看次数

确定当前区域设置是否在iOS中使用非阿拉伯数字?

在iOS中,如果用户[NSLocale currentLocale]不使用阿拉伯数字(即不是0123456789),我想执行一些特定的功能.我该如何检查这种情况?

cocoa-touch localization nslocalizedstring ios nslocale

4
推荐指数
1
解决办法
521
查看次数

如何将初始数据播种到Core Data + iCloud?

我正在开发一个使用Core Data和iCloud的新应用.我正在关注iCloudCoreDataStack演示和iCloud设计指南.到目前为止,设备之间的同步运行良好,但我还没有弄清楚如何在用户的第一台设备上使用应用程序时播种少量数据,如果应用程序在第二台设备上使用,则跳过播种(因为它应该从iCloud下载).

这应该很简单,只要询问iCloud Container是否有任何数据.下载数据(如果存在)或创建新数据(如果不存在).但我找不到办法做到这一点:-(

我可以想到三种方法来解决这个问题:

  1. 使用migratePersistentStore:toURL:options:withType:error:我的数据量非常少,所以对于这种情况,这感觉就像是矫枉过正

  2. 在NSUbiquitousKeyValueStore上存储一个值以标记是否已经进行了初始同步我尝试使用NSUbiquitousKeyValueStore,但有时从UbiquitousKeyValueStore获取值需要很长时间,因此即使在不需要时也会创建种子数据,从而导致重复.

  3. 使用sentinel文件与#2具有相同的效果(我不知道如何实现这个)

该应用程序仅适用于iOS 7和新版本,因此无需迁移旧用户数据.

我发现的每个相关教程和书籍似乎都使用iOS7之前的超级复杂的处理方式(例如使用后备存储),这在iOS 7中是不必要的.

要么我缺少某些东西(通常是这种情况),要么这比它应该更复杂.我感谢任何建议和指示.

iphone core-data ios icloud

4
推荐指数
1
解决办法
1888
查看次数