草庐IT

swift-block

全部标签

ios - 如何获取从 iOS 10 和 Swift 3 中的 Firebase 控制台发送的推送通知的主体?

我正在开发一个iOS应用程序,它应该接收从Firebase控制台发送的推送通知。我使用的是Swift3和iOS10。按照Firebase文档的建议,我们必须将委托(delegate)对象分配给UNUserNotificationCenter对象以接收和显示通知,并将FIRMessaging对象分配给接收数据消息,然后我们的应用程序完成启动。这已在didFinishLaunchingWithOptions方法中完成。我按照所有步骤来配置Firmessaging和APNs。现在,当我从Firebase控制台发送消息时,我通过applicationReceivedRemoteMessage(

ios - 我应该在嵌套 block 中使用 weakSelf 吗?

我正试图正确地避免在ObjectiveC中使用block的保留循环,并且不确定是否具有嵌套block。如果我像这样写一个简单的block:[selfdoSomethingWithBlock:^{[selfdoSomethingElse];}];编译器捕获并警告我这可能会导致保留循环。我将其更改如下以避免循环:__weak__typeof(self)weakSelf=self;[selfdoSomethingWithBlock:^{__strong__typeof(weakSelf)strongSelf=weakSelf;[strongSelfdoSomethingElse];}];当我

解决es报错:blocked by: [FORBIDDEN/12/index read-only / allow delete (api) ]

一:报错日志    具体的报错日志如下:{"error":{"root_cause":[{"type":"cluster_block_exception","reason":"blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)];"}],"type":"cluster_block_exception","reason":"blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)];"},"status":403}二:问题分析1、出现这种错误,一般就是你的Elasticsearch磁

ios - 在分离的线程问题中带有 block 的异步 FB 请求

我正在使用IOSFacebookSDK3,我正在尝试以更高效的方式使用它。所以我想在单独的线程中管理一些请求。例如这个请求(WORKSPERFECTLY):dispatch_queue_tqueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,0);dispatch_async(queue,^{[selfgenerateShareContentFor:ShareServiceTypeFacebookcallback:^(NSMutableDictionary*obj){FBRequest*rq=[FBRequ

ios - swift 3 facebook sdk 获取好友列表

我需要获取我所有的好友列表:我找到了这段代码:varfbRequestFriends:FBSDKGraphRequest=FBSDKGraphRequest(graphPath:"/{friend-list-id}",parameters:[AnyHashable:Any]())fbRequestFriends.start{(connection,result,error)iniferror==nil&&result!=nil{print("RequestFriendsresult:\(result!)")}else{print("Error\(error)")}}但作为返回,我得到了

ios - CATransaction 完成 block 从不触发

为什么这个CATransaction的完成block永远不会触发?[CATransactionbegin];[CATransactionsetCompletionBlock:^{//tableanimationhasfinishedNSLog(@"whydoesthissectionneverexecute?");}];[self.tableViewbeginUpdates];[self.tableViewreloadRowsAtIndexPaths:@[[NSIndexPathindexPathForRow:self.currentFeedItems.countinSection:0

ios - Objective-C/Swift (iOS) 何时在 View/ViewController 工作流程中应用自动约束?

我在弄清楚何时在View设置过程中应用XIB上的auto-contraints设置时遇到了一些问题。更多解释:我已经为View设置了一个XIB我将“模拟指标”尺寸设置为iPhone3.5英寸我已将自动约束添加到此View内的subview在ViewController中,我根据viewDidLoad方法中的subview(IBOutlet)frames/bounds执行某些操作在View中,我根据awakeFromNib方法中的subview(IBOutlet)frames/bounds执行某些操作在这2个方法中(ViewController::viewDidLoad和View::aw

ios - swift 3 中的 NSNumber 问题

我已经将我的项目转换为swift3,但我遇到了一个我无法处理的NSNumber问题。这是我的数字格式化程序声明letnumberFormatter:NumberFormatter={letnf=NumberFormatter()nf.numberStyle=.decimalnf.minimumFractionDigits=0nf.maximumFractionDigits=1returnnf}()这里是错误的地方。性价比是双倍的,肯定其他东西还行。Label.text=numberFormatter.string(from:NSNumber(value))来自调试器的消息:Argume

ios - 在特定 View 中隐藏导航栏 - Swift 3

我有NavigationController来处理我的应用程序中的导航。根据我的设计,第一个View应该没有可见的NavigationBar。之后的所有其他人都会。在这个FirstView中,到目前为止,我正在使用它来隐藏ViewDidLoad中的NavBar:self.navigationController?.isNavigationBarHidden=true我可以从这个FirstView访问其他View。在这些其他View中,我使用以下方式显示NavBar:self.navigationController?.isNavigationBarHidden=false我的问题是:当

objective-c - 为什么 Xcode4 在条件编译 block 中不做任何语法高亮显示?

例子:#ifdefFREE_VERSIONtf.text=@"Free";NSLog(@"FREEVERSION");#elsetf.text=@"Paid";NSLog(@"PAIDVERSION");#endif第一部分在Xcode中看起来不错。tf.text=@"Free";NSLog(@"FREEVERSION");语法高亮。但是,第二部分不是:tf.text=@"付费";NSLog(@"付费版");是否有类似“不要在条件编译代码的#else部分进行语法高亮显示”之类的设置? 最佳答案 XCode将尝试确定将采用哪个预处理器