草庐IT

ios - 在不损害应用程序性能的情况下,从 Core Data 执行级联对象删除的有效方法是什么?

我们应用程序中的数据库由多层嵌套的对象组成。出于架构原因,我们现在不可行。每天都有很大一部分数据会过期。随着数据库规模的增长,我们的应用程序性能会下降。因此,我们需要找到一种有效的方法来保持数据库较小(至少在这个版本中),我们正在考虑以下方法之一:在applicationWillResignActive期间,通过遍历根级别的所有对象删除NSManagedObjects,对每个对象调用delete,然后允许将删除级联到“对多”对象的3层。这涉及在最后将所有这些提交给数据库的一个上下文保存。这通常需要10-20秒(在iPhone4上)来删除对象,Springboard在10秒时终止该过程。

iphone - 有没有办法在不重新启动应用程序的情况下使 NSBundle 本地化缓存失效? [iOS]

假设我们可以在运行时更改Localizable.strings,它被放置在NSBundle中目前,即使我们更改它的内容,NSLocalizedString也会返回旧的(缓存的)值。运行应用程序获取特定key1的LocalizableString更改Localizable.stringskey1=value2检查特定key1的LocalizableString是否==value2我已经尝试过的:[[NSBundblemainBundle]invalidateResourceCache][UIApplication_performMemoryWarning]试图查看是否有一些字典。用于缓存

ios - 在不丢弃前一个场景的情况下在 SpriteKit 中呈现一个场景?

我的情况是我有一个GameMenuScene,在用户选择关卡后,我想呈现LevelScene。但是我不想丢弃之前的GameMenuScene因为LevelScene实际上是GameMenuScene的@property并且用户是否完成关卡将被保存为LevelScene的@property,GameMenuScene应该能够在用户完成或退出关卡。如果我简单地使用presentScene:transition,GameMenuScene将被丢弃,信息无法传回。我的问题:有没有一种方法可以将场景堆叠或推到彼此之上而不丢弃之前的场景(最好使用过渡动画)?我在SKScene的Apple文档中找不

ios - 是否存在在不调用 viewWillDisappear 的情况下调用 dealloc 的情况?

在Controller中,我们在viewDidAppear中添加了观察器,并在viewWillDisappear中将其删除。init/viewDidLoad中没有观察者。在这种情况下,为了安全起见,下面一行/dealloc方法是否需要它?[[NSNotificationCenterdefaultCenter]removeObserver:self];现在的问题/疑问是,在没有调用viewWillDisappear的情况下,是否存在调用dealloc的场景?什么时候调用内存警告呢?在这些情况下会发生什么?谢谢。 最佳答案 一种情况是:

ios - 在不使 MKOverlay 变暗的情况下使 MKMapView 的背景颜色变暗

如何使MKMapView的背景颜色变暗,并且不使MKMapView中的MKOverlay变暗的同时——类似于Nike+应用程序中的mapView。 最佳答案 好的,我得到了解决方案,在将其他叠加层添加到map之前,您可以添加一个总叠加层作为map的背景,这样map的背景颜色就会改变,但叠加层仍然是原来的样子,这是代码MKMapRectworldRect=MKMapRectWorld;MKMapPointpoint1=MKMapRectWorld.origin;MKMapPointpoint2=MKMapPointMake(point

ios - 在不旋转 View 本身的情况下围绕中心点旋转 UIView

我想在不旋转UIView本身的情况下围绕中心点旋转UIView。所以更像是摩天轮的汽车(始终保持直立),而不是时钟的指针。我围绕中心点旋转UIViews的时候,我使用图层位置/anchorPoint/transform来实现效果。但这显然会改变View本身的方向。有什么帮助吗?凯勒 最佳答案 这在CoreAnimation中很容易做到。我在这个例子中使用了一些非常无聊的静态值,所以显然您需要进行一些修改。但这将向您展示如何沿着圆形UIBezierPath移动View。UIView*view=[UIViewnew];[viewsetB

IOS 在不退出 First Responder 的情况下关闭/显示键盘

我的应用程序与通过蓝牙连接的条形码扫描器一起使用。连接扫描仪后,您可以双击扫描仪上的按钮以关闭/显示屏幕键盘。90%的时间用户会希望隐藏键盘,因为他们将扫描条形码以输入数据。有一些我提前知道需要启用键盘的异常(exception)情况,我想让他们省去按下扫描仪按钮调出键盘的工作,而是强制键盘出现。扫描仪不使用resignfirstseponder关闭键盘,这是显而易见的,因为光标仍然可见并且扫描条形码会将数据输入到当前文本字段中。有谁知道如何在不使用resignfirstresponder的情况下关闭/显示屏幕键盘?引用我正在使用这个扫描仪http://ww1.socketmobile

ios - 我可以在不创建 UILabel 的情况下计算出 NSString 的 numberOfLines 吗?

我只想知道行数,给定字体、约束和文本。我可以在不创建UILabel的情况下解决这个问题吗?+(int)numberOfLines:(NSDictionary*)data{NSString*myString=[somestringcalculation];CGSizesizeConstrain=CGSizeMake(someconstraincalculation);CGSizestringSize=[myStringsizeWithFont:someFontconstrainedToSize:sizeConstrain];CGRectlabelFrame=CGRectMake(0,0,

ios - 我可以在不调试的情况下从 Xcode 运行 iPhone 应用程序吗?

是否可以让Xcode从Xcode4.6自动在我的iOS设备上启动应用程序,而无需将其调试器附加到该应用程序?我正在使用自动构建系统,因此无法手动启动应用程序。我在Product->PerformAction菜单下找到了RunWithoutBuilding,但它仍然附加了调试器。我可以编辑方案,让Xcode等到应用程序手动启动后再附加调试器,但这基本上与我想要的相反。 最佳答案 如果您想在不启动调试器的情况下从Xcode启动应用程序,我会取消选中Xcodescheme中的“调试可执行文件”选项。:如果您想手动启动应用程序,您可以:在“

iphone - 在不缩放 subview 的情况下缩放 UIView

我试图在不缩放其subview的情况下缩放UIView,或者在我的情况下,我只想在一个轴上缩放subview。我需要这些层次结构,因为我正在设置一些手势识别器来检测平移和旋转,我希望这些与父View同时发生。但是,我不希望缩放同时发生。对于某些subview,我希望它只在垂直或水平方向上发生,或者根本不缩放。在UIView上使用CGAffineTransform时,有没有办法控制UIViewsubview中的自动缩放? 最佳答案 如果您确保subview的autoresizingMask设置正确,您可以更改容器UIView的框架(它