在iOS中保存数据有哪些select?

我想序列化一堆数据并保存到一个文件,然后能够加载(自然),并用我写的function回放。 (对不起,如果我的术语是closures的,我是这样的新手。)什么是最好的方式与iOS做到这一点? 从这里查看文档: 标准应用程序行为指南 我已经收集到,我应该使用NSSearchPathForDirectoriesInDomains来find合适的存储目录根(Documents?),然后使用NSData来存储我创build的这些数据缓冲区并将它们写入文件。 我是否注意到了这个问题,或者我弄错了? 任何其他的忠告?

如何在iOS自动布局中为button添加等间距和等宽

在Xcode中,自动布局约束是新的。 我有一个像UITabBar 6 UIButtons底视图。 没有限制,我将这些button与每个button的5个空格填充alignment,每个button都有50个宽度。 现在,我试图通过使用自动布局来支持所有的屏幕尺寸。 在故事板约束中,我为6个button设置了相等的宽度,并在每个button之间创build了60个空间。 我将第一个button0设置为前导空格,并将最后一个button0设置为尾部约束。 我希望所有设备尺寸的视图之间buttons with equal width and flexible spaces的buttons with equal width and flexible spaces 。 任何人都可以请求帮助我吗? 寻求帮助。 提前致谢。

iOS游戏中心:比分不显示在沙盒排行榜上

我正在开发一个支持Game Center的游戏,而且我在沙箱环境中遇到了一个问题。 我可以成功地报告分数没有错误。 但是,当我显示排行榜时,没有可见的分数。 为了validation实际得分,我使用以下代码查询本地用户的得分: -(void)retrieveLocalScoreForCategory:(NSString *)category { GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init]; leaderboardRequest.category = category; [leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores,NSError *error) { [self callDelegateOnMainThread: @selector(localPlayerScore:error:) withArg: leaderboardRequest.localPlayerScore error: error]; }]; } 在我的代表中,我将分数logging到控制台,我可以看到正确的分数。 我已经validation,我正在使用正确的排行榜类别ID显示排行榜(我只有一个)。 有谁知道为什么我的分数立即在沙箱环境的排行榜上不可见? 比分出现之前是否有延迟?

Swift:什么是正确的方式来分裂一个导致]给定的子arrays大小?

从一个大的[String]和一个给定的子数组大小开始,我可以将这个数组分割成更小的数组的最佳方式是什么? (最后一个数组将小于给定的子数组大小)。 具体例子: 将最大分割大小为2的“1”,“2”,“3”,“4”,“5”,“6”,“7” 代码会产生[[1,2,3,4,5,6,7] 显然我可以手动做这个,但是我觉得像map()或reduce()这样的东西可以做到我想要的非常漂亮。

iOS以编程方式拍照

我知道这是可能的,在一些应用程序中看到这个(iGotYa是我相信最有名的)。 我知道如何设置拍照的一切,节省一切。 但是,如何以编程的方式来完成呢? 只需要用户点击一些button(在常规的视图控制器),它会自动拍摄使用前置摄像头的图片并保存(或不,只是得到它作为UIImage) 谢谢!

在Swift中重复使用快照子项(Firebase)

我有一个Firebase资源,其中包含几个对象,我想使用Swift迭代它们。 我期望的工作如下(根据Firebase文档) https://www.firebase.com/docs/ios-api/Classes/FDataSnapshot.html#//api/name/children var ref = Firebase(url:MY_FIREBASE_URL) ref.observeSingleEventOfType(.Value, withBlock: { snapshot in println(snapshot.childrenCount) // I got the expected number of items for rest in snapshot.children { //ERROR: "NSEnumerator" does not have a member named "Generator" println(rest.value) } }) 所以看起来Swift在遍历Firebase返回的NSEnumerator对象时存在一个问题。 帮助真的很受欢迎。

如何在iPhone UILabel中设置字距

我正在开发一个iPhone应用程序,我想在UILabel中设置字距。 我写的代码(可能围绕kCTKernAttributeName )似乎是错误的。 我怎样才能解决这个问题? NSMutableAttributedString *attStr; NSString *str = @"aaaaaaa"; CFStringRef kern = kCTKernAttributeName; NSNumber *num = [NSNumber numberWithFloat: 2.0f]; NSDictionary *attributesDict = [NSDictionary dictionaryWithObject:num forKey:(NSString*)kern]; [attStr initWithString:str attributes:attributesDict]; CGRect frame1 = CGRectMake(0, 0, 100, 40); UILabel *label1 = [[UILabel alloc] initWithFrame:frame1]; label1.text = attStr [self.view addSubview:label1];

IOS 8:捆绑path的变化

我有一个iOS应用程序,它将文件的绝对path存储在数据库和生成的html文档中。 我只是最近更新我的iPhone到iOS 8,现在当我运行应用程序似乎应用程序安装在不同的目录中,每重新编译。 例如,在第一个构build/运行[[NSBundle mainBundle] bundlePath]在下一个构build/运行时返回不同的东西。 到底是怎么回事? 这是苹果的新function吗? 更新:创build了一个错误报告 代码示例: 如果我在多个构build/运行上运行以下行,那么每次都会得到不同的结果。 #define kOLD_PATH @"oldPath" NSString* newPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject]; NSString* oldPath = [[NSUserDefaults standardUserDefaults] objectForKey:kOLD_PATH]; NSLog(@"New Path: %@", newPath); NSLog(@"Old Path: %@", oldPath); NSLog(@"Result: %@", [oldPath isEqualToString:newPath] ? @"Same" : @"Changed"); [[NSUserDefaults standardUserDefaults] setObject:newPath forKey:kOLD_PATH]; [[NSUserDefaults standardUserDefaults] synchronize]; 输出在多次运行中看起来像这样 New Path: /var/mobile/Containers/Data/Application/4FFCE2CB-580D-409A-90CB-EF2B8A1FB653/Library Old […]

iOS将照片保存在应用专用相册中

我正在创build一个iOS 5应用程序。 我想将照片保存到设备。 我想将照片保存到特定于我的应用的相册中,因此我需要创build相册,然后将照片保存到相册中。 我知道如何创build相册: ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library addAssetsGroupAlbumWithName:@"MY APP NAME" resultBlock:^(ALAssetsGroup *group) { //How to get the album URL? } failureBlock:^(NSError *error) { //Handle the error }]; 我现在要将照片添加到新相册,我该怎么做? 示例代码非常感谢!

如何防止键盘在iOS应用程序使用phonegap推高webview

当屏幕底部的input字段有焦点时,键盘会向上推动我的webview,页面的上半部分不再可见。 我想防止键盘推动web视图。 任何人有一个想法?