草庐IT

thread-bound

全部标签

IOS 应用程序崩溃 : [__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array

我有一个方法,我将“id”传递到这里:NSString*id=@"4bf58dd8d48988d181941735";[selfgetNames:id];这工作正常,但是当我使用在segue中传递的对象的“id”时:NSString*id=_selectedStore._id;[selfgetNames:id];我得到错误:'NSRangeException',reason:'***-[__NSArrayIobjectAtIndex:]:index0beyondboundsforemptyarray'这是怎么回事?这里是出错的地方。我的尝试(请记住我是新手)是获取一组Foursquar

iOS : Background Thread Exceptions Not Crashing

我没有找到符合我经验的文档。我想要的是一种在后台线程中处理未捕获异常的好方法。这种“方式”应该让应用程序崩溃,但在崩溃之前执行一些非常基本的操作(例如,将值保存到UserDefaults以便下次启动时可以检查它;加上日志记录)。在主线程上,我刚刚设置了一个uncaughtExceptionHanlder并且工作正常。但是,在后台线程上-作为NSOperationQueue上的NSOperation执行-发生任何异常但不退出应用程序:崩溃。该应用程序继续在损坏的状态下运行。但是,线程编程指南指出:SettingUpanExceptionHandlerIfyourapplicationca

ios - "[NSBigMutableString substringWithRange:]: Range {0, 10} out of bounds; string length 9"撤消错误

当我尝试在UISearchBar上执行撤消操作时,我的应用程序崩溃了。在我的应用程序中,我有代码来防止在搜索栏上输入“%”符号,为此它在textDidChange方法中将%替换为@"",如下所示:-(void)searchBar:(UISearchBar*)searchBartextDidChange:(NSString*)searchText{self.searchBar.text=[searchTextstringByReplacingOccurrencesOfString:@"%"withString:@""];}因此,如果我输入文本“abc%xyz”,搜索栏上显示的最终文本将是

ios - 如何在生产应用程序中找到 Crashed : com. apple.main-thread 的根本原因?

我有一份来自Crashlytics的报告:Thread:Crashed:com.apple.main-thread0libobjc.A.dylib0x000000019503fbd0objc_msgSend+161CoreFoundation0x00000001836e5458CFRelease+5242CoreFoundation0x00000001836f1a18-[__NSArrayMdealloc]+1523libobjc.A.dylib0x0000000195045724(anonymousnamespace)::AutoreleasePoolPage::pop(void*)

ios - CGAffineTransform 改变 view.bounds?

Viewshavebothaframe(coordinatesinsuperview'scoordinatesystem)andbounds(coordinatesinowncoordinatesystem)property,butifyoutransformaview,youshouldnotuseorrelyontheframepropertyanymore.Ifyouareusingtransformations,workwiththeboundspropertyonly,nottheframeproperty,astransformationsareappliedtothebo

ios - Xcode 线程 1 : Is it always main UI thread?

Xcode在调试导航器中显示线程。它们被编号:线程1、线程2等我注意到我总是在线程1中。假设它是主UI线程是否正确?我使用像Facebook和AFNetworking这样的库/SDK,它们有回调和委托(delegate)。但线程安全性并不总是得到正确记录。 最佳答案 我不记得是哪个,但在一个WWDC视频中(我想是从2011年开始),我听到一位工程师提到UIKit内部假设线程1是UI。所以是的,这不是“简单的”最佳实践,我认为存在具体的技术依赖性。就具体文档而言,我不容易找到“官方”声明;但我认为这是因为它比这更基础。比如这种随便提到

iphone - 为什么 self.bounds.size.height 没有考虑这段代码中的 UINavigationView 导航栏?

我有一个配置UITableView,可以通过UINavigationController方法启动颜色选择器:[self.navigationControllerpushViewController:colorPickerViewControlleranimated:YES];[colorPickerViewControllerrelease];这意味着ColourPicker的顶部将有一个导航栏(和后退按钮)ColourPickerViewControll及其ViewColourPickerView的结构如下:-ColourPickerViewController-init'sXIBf

ios - 枚举键和对象使用 block : can I be sure it is called on the same thread?

最近我在使用enumerateKeysAndObjectsUsingBlock:,今天当我的一位同事指出可以从单独的线程调用此枚举方法并且我的代码可能无法按预期工作时,我犹豫了。他甚至建议我应该使用快速枚举。问题是我真的很喜欢enumerateKeysAndObjectsUsingBlock:并且不喜欢快速枚举,因为它在字典方面的性质。我的方法如下所示-(NSArray*)someMethod{__blockNSMutableArray*myArray=[NSMutableArrayarray];[self.myDictionaryenumerateKeysAndObjectsUsin

objective-c - 使用 [__NSArrayM objectAtIndex :]: index 0 beyond bounds for empty array error 崩溃

我正在通过我的iOS应用程序的用户获取崩溃报告,但我无法重现崩溃,也无法将错误追溯到我自己代码中的一行(除了它源自main.m中的第14行)但这是iOS应用程序的默认应用程序创建。在我收到的崩溃报告下方。在某些时候,索引为0的对象正在从空数组中检索。但是由于它似乎没有指向我自己的代码,它会不会是iOS中的错误?(它发生在不同的平台和不同的iOS版本上)。我希望有人知道发生了什么,或者可以指出正确的方向。谢谢。崩溃报告:IncidentIdentifier:[TODO]CrashReporterKey:[TODO]Process:MaryBlack[797]Path:/var/mobil

iOS AVPlayer replaceCurrentItemWithPlayerItem :nil block UI Thread

似乎apireplaceCurrentItemWithPlayerItem:会卡住主线程几秒钟,我知道替换项目需要新项目的信息,这可能需要一些时间来预加载。但是问题来了,为什么用nilitemobject替换CurrentItemWithPlayerItem:也会卡住主线程?我碰巧有时需要超过5秒来替换一个nilplayerItem。我想知道我该怎么做才能避免这个问题。感谢您的任何建议! 最佳答案 当我使用UICollectionView通过ALAssetLibrary显示和预览本地照片库中的视频时,我遇到了类似的阻塞UI线程问题。