草庐IT

thread_func

全部标签

ios - "Only run on the main thread"异常仅是模拟器

我在内部深处(或之后)的某处收到“仅在主线程上运行”异常[self.navigationControllerpushViewController:controlleranimated:YES];问题是它只发生在模拟器上,而不是在IOS设备中调试时发生。我有机会解决这个问题吗?转储:2014-03-2515:18:45.061Cookila[657:5507]***Assertionfailureinvoid_UIPerformResizeOfTextViewForTextContainer(NSLayoutManager*,UIView*,NSTextContainer*,NSUInt

ios - 如何在 iOS 8.3 中调试 syscall_thread_switch?

自从迁移到iOS8.3后,我遇到了主线程将卡在该调用中的错误。其他一些线程也卡在该调用中。在导致此调用的任何线程中都没有我的代码,所以我很困惑为什么会这样。它随机发生,有时在点击按钮栏项目时,有时在重绘图表(使用ShinobiCharts)等时发生。这是来自Xcode的堆栈跟踪:有人知道为什么会发生这种情况以及如何解决它吗?这很烦人,因为当我卡在那里时,我必须重新启动应用程序。请注意,到目前为止,这是在模拟器中发生的。我正处于开发此应用程序的早期阶段,大部分时间都花在模拟器上。我还没有在真实设备上看到错误发生,但同样,我没有经常在设备上运行该应用程序。 最佳

multithreading - 导轨 : Is it possible to initialize some stuff in a thread?

在我的初始化程序之一中,我需要从Redis实例中获取一些哈希值。然而,由于哈希的数量和连接的弱点,加载可能需要很长时间。由于它在初始化程序中,因此在所有哈希值都已加载之前应用程序不可用。因此我想我可以在一个线程中执行初始化,这样应用程序就可以启动,然后哈希将按时加载,因为它们对应用程序来说不是必需的。我试过这样的:REDIS=Redis.new(:host=>uri.host,:port=>uri.port,:password=>uri.password)STORE={}Thread.abort_on_exception=trueThread.newdoREDIS.keys.eachd

ios - Parse.enableLocalDatastore() - 警告 : A long-running operation is being executed on the main thread

此外,我还在dispatch_async中执行了Parse.enableLocalDatastore()-我仍然收到警告。即使我在warnParseOperationOnMainThread上添加一个符号断点,它也不会中断这是应用委托(delegate)的代码片段funcapplication(application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[NSObject:AnyObject]?)->Bool{//Overridepointforcustomizationafterapplicationlau

xcode - 错误 "Thread 1: breakpoint 2.1"

我正在开发RESTAPI管理器。它给出了一个错误,我无法修复它。我得到的错误在下面突出显示。importFoundationimportAlamofireimportSwiftyJSONclassRestApiManager{varresources:JSON=["resources":["resourceA":[]]]letapiUrl:StringletapiUsername:StringletapiPassword:Stringinit(apiUrl:String,apiUsername:String,apiPassword:String){self.apiUrl=apiUrls

arrays - 数组或字典扩展中的 Swift 3.0 : compiler error when calling global func min<T>(T, T)

从Swift2.2转换到3.0后我的Array扩展不再编译,因为它包含对全局标准库函数的调用min(T,T)并显示编译器错误extraargumentincall.这是重现错误的简单方法:extensionArray{funcsmallestInt(first:Int,second:Int)->Int{returnmin(first,second)//compilererror:"Extraargumentincall"}}将相同的函数添加到Dictionary的扩展中时出现相同的错误,而完全相同的代码在其他类型的扩展中编译得很好(例如String或AudioBuffer):查看Arr

swift - 由于 'private' 保护级别,无法访问 func

我正在尝试使用Swift3在Xcode8中将我的项目从iOS8迁移到iOS10。我遇到了一个错误,在我的扩展中我声明了一些文件私有(private)函数,这些函数中的方法是由于私有(private)保护级别而无法访问。这里是我得到错误的地方:extensionVideoViewerViewController:SeekerViewDelegate{fileprivatefuncseekerViewBeginSeeking(view:SeekerView){self.shouldStartPlayingAfterSeek=self.player.rate>0.0//'shouldStar

swift - 从 Swift 中的 void-func 提前返回?

谁能给我解释一下Swift中的以下行为?functest()->Bool{print("1beforereturn")returnfalseprint("1afterreturn")}functest2(){print("2beforereturn")returnprint("2afterreturn")}test()test2()返回:1beforereturn2beforereturn2afterreturn我希望print("2afterreturn")永远不会被执行,因为它在return语句之后。有什么我想念的吗?(使用Swift4/4.1和Xcode9.2/Xcode9.3b

ios - 在 "class func"方法中获取 Swift 类名

我在Swift中有一个静态方法classBaseAsyncTask:WebServiceClient{classfuncexecute(content:[String:AnyObject],cancelled:CustomBool){//Printclassname(BaseAsyncTask)here}}我想知道如何在该方法中获取类名。我试过了self.dynamicType但这会产生错误(我想是因为类函数中的self) 最佳答案 有不同的方法可以做到这一点,如果你的方法继承自NSObject,你可以将它暴露给objective-

ios - : override public func observeValueForKeyPath 错误

我正在使用适用于Xcode7Beta2的代码。刚刚获得Beta3,现在我遇到了这个看起来像是Xcode错误的问题?对于我的一门公开课...overridepublicfuncobserveValueForKeyPath...Methoddoesnotoverrideanymethodfromitssuperclass所以我去掉了“override”:publicfuncobserveValueForKeyPathMethodconflictswithmethodfromsuperclassNSObjectwiththesameObjective-Cselector哈!我被第一个错误骗了