草庐IT

Meta-objects

全部标签

objective-c - 是调用 performSelector 的对象 :withObject:afterDelay get retained by the NSRunLoop?

我有一个特定对象每X秒执行一次“刷新”。(“更新程序”)我执行此重复更新的方法是调用performSelector:withObject:afterDelay并在我的选择器中根据需要重新安排。当然,我有一个方法可以通过调用cancelPreviousPerformRequests来停止这些调用。问题是这个“更新程序”永远不会被释放。只有一个其他对象保留更新程序(AFAIK),并且保留对象正在被释放并调用[selfsetUpdater:nil];我怀疑这与performSelector:withObject:afterDelay方法有关,但我在文档中找不到关于该问题的任何引用。任何人都可

objective-c - 在 iOS 中手动更新界面方向

我的iOS应用程序支持除PortraitUpsideDown之外的所有方向。但是在应用程序中,我有一个带有偏好的View,我希望它只以纵向显示。因此,无论何时显示此View,都会根据需要旋转它,使其处于纵向模式。这意味着用户也将在纵向模式下旋转设备以设置首选项,然后在关闭此View界面后现在应该具有纵向方向。问题是,在隐藏首选项View后,界面保持横向,因为在显示此View后我阻止了自动旋转。因此,隐藏View后,我想手动将界面更新为当前设备方向。我该怎么做?self.view.hidden=NO;[UIViewbeginAnimations:nilcontext:NULL];[UIV

ios - 线程阻塞 Objective-C

我刚刚阅读thisanswer(答案已被删除)而且我确信我已经看到应用程序在挂起后崩溃,所以我读到的内容是有道理的。IfyoublockthemainthreadfortoolongtheOSwillkillyourapp.但是我写了一些测试,发现在每次等待大约2-5分钟后,没有一个导致应用程序崩溃。断点确认我正在主线程上运行。有人可以证实或反驳我读到的内容,还是我只是选择了很多非阻塞的选项?如果我选择了非阻塞选项,有人可以解释为什么这些选项是非阻塞的吗?while(true){/*Nothing*/}while(true){NSLog(@"nothing");}for(;;);sle

objective-c - xCode:通过控制台访问对象的属性

是否可以在xCode控制台中访问对象的属性?如果我尝试以下操作,我会收到一个错误,指出他的属性不存在。posomeObject.someprop如果我不对代码断点并运行应用程序,它会正常工作,所以我知道someObject.someprop存在。我认为我还没有掌握xCode控制台?我喜欢Flex/Flash开发的一点是我可以设置一个断点,并且在控制台窗口或变量View中我可以遍历每个结构直到地球的尽头。我可以看到SomeDicionary[key].someArray[1].someObject.prop并且它会显示值。这在xCode控制台中是不可能的还是有什么技巧可以实现?

objective-c - 两个 childViewController 之间的通信

在两个subviewController之间进行通信的最佳方式是什么?我知道使用委托(delegate)在subviewController和父ViewController之间进行通信,但我无法了解如何在同一父ViewController的subviewController之间进行通信。 最佳答案 好吧,你可以通过channel解决它,在我看来,这是最糟糕的解决方案。或者您可以通知您的parentViewController发生的所有事情并让他完成工作(例如通知所有需要特定信息的对象)。例如,您可以这样做:[childViewCon

objective-c - 像 UITextField 一样隐藏 UITextview

我已经搜索了apple的文档和StackOverflow上的其他帖子,但我仍然无法在UITextView的内部添加阴影。我想让它看起来像一个UITextField。这是我试过的代码。CALayer*frontLayer=self.frontField.layer;[frontLayersetBorderColor:CGColorCreate(CGColorSpaceCreateDeviceGray(),nil)];[frontLayersetBorderWidth:1];[frontLayersetCornerRadius:5];[frontLayersetShadowRadius:1

objective-c - 如何使用 Restkit 在离线期后管理本地更改

我正在使用Restkit制作一个在线/离线ios应用程序,但我不知道在离线后同步。我在想这个:离线时,我更新本地托管对象并将字段local_changes设置为true当我恢复互联网后,在每个GET请求之前,我使用PUT请求发送所有local_changes=true的模型如果是新项目,我会发送POST请求。我的问题是我的GET请求没有等待GET请求结束发送,所以我得到了旧数据(数据未修改)。你怎么看这个?您找到更好的方法了吗? 最佳答案 我意识到这已经晚了,但我最近一直在寻找一种好的方法来做到这一点。我目前正在使用AFHTTPCl

objective-c - NSObject 扩展 UIAlertViewDelegate 崩溃?

我有一个助手类,我想显示一个UIAlertView,然后将执行一些Web服务操作。我想这样做,这样我就可以在其他地方重新使用警报View。我是这样声明的:@interfaceFBLinkHelper:NSObject我还有一个显示警报View的方法:-(void)showLinkDialog{UIAlertView*av=[[UIAlertViewalloc]initWithTitle:@"LinkaccountwithFacebook?"message:@"LinkingyouraccountwithFacebookextendsyouruserexperience.Linkacco

ios - Objective-C 中的 Box2D

我目前正在运行Kobold1.0.4并且不知道如何使用Objective-C使用Box2D,任何帮助将不胜感激。我看过与kobold的Box2d示例项目,但它只使用c++,我需要在objective-c中完成它,因为我对两者都不太自信。 最佳答案 将源文件的扩展名从*.m更改为*.mm以便能够在其中使用C++类。它将允许您在objective-c代码中创建和管理box2d对象 关于ios-Objective-C中的Box2D,我们在StackOverflow上找到一个类似的问题:

objective-c - 获取连接到套接字的主机的主机名

我正在使用Apple的TCPServer类在传入连接监听时打开一个套接字。这是当有人连接到监听套接字时调用的回调:staticvoidTCPServerAcceptCallBack(CFSocketRefsocket,CFSocketCallBackTypetype,CFDataRefaddress,constvoid*data,void*info){TCPServer*server=(TCPServer*)info;if(kCFSocketAcceptCallBack==type){//foranAcceptCallBack,thedataparameterisapointertoa