草庐IT

Meta-objects

全部标签

objective-c - 返回指向不同对象的指针的方法会自动分配并初始化另一个对象吗?

假设我有这段代码:NSString*inspDate=@"20120515";NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetDateFormat:@"yyyyMMdd"];NSDate*inspectionDate;inspectionDate=[dateFormatterdateFromString:inspDate];当我检查它是否有效时(NSDate包含格式正确的数据)它确实...但为什么呢?这里我通过以下步骤:NSDateFormatter的内存正在堆中分配和实例化。dat

objective-c - 如何在 Objective-C 中使用访问器方法来处理指针

基本问题陈述:我有一个很好的理由在需要通过引用传递小数的应用程序中做一些指针幻想。所以我有一个存储许多小数的类,所以假设它有一个这样的属性:@property(nonatomic)doublemyDecimalValue;我想通过对其他类的引用来传递它。[someOtherObjectsendMyDecimalByReference:&myDecimalValue];但是,问题出现了!实际必须写的方式(因为它是一个属性)是[someOtherObjectsendMyDecimalByReference:&decimalOrigin.myDecimalValue];这在objective

objective-c - UIImage 调整大小 drawRect 用黑色填充背景

我有一个名为MNTRectangle的类,它是UIImage的子类。我已经覆盖了此类的drawRect方法以在图像上绘制边框(使用其框架)。我有它,所以当用户在名为DocumentView(UIView的子类)的类上开始平移/拖动手势时,它会将MNTRectangle的实例作为subview添加到DocumentView的实例。随着用户继续拖动,MNTRectangle会调整大小。问题是MNTRectangle最后显示为纯黑色,我尝试清除图形上下文以及在绘制边框之前保存上下文并在绘制边框之后恢复上下文。无论我尝试什么,我都无法清除MNTRectangle,只能在调整大小时显示边框。这是

objective-c - 使队列线程安全

我有一个相机session,我正在从缓冲区拍摄图像:-(void)captureOutput:(AVCaptureOutput*)captureOutputdidOutputSampleBuffer:(CMSampleBufferRef)sampleBufferfromConnection:(AVCaptureConnection*)connection{CVPixelBufferRefpixelBuffer=(CVPixelBufferRef)CMSampleBufferGetImageBuffer(sampleBuffer);CIImage*ciImage=[CIImageimag

objective-c - UIScrollView 中的中心行按钮

我在UIScrollView中动态添加按钮,但有些View只有两个按钮,有些有10个。我想在ScrollView中将按钮居中,这样看起来我不是从左到右构建它们的。我已经尝试了SO的几种技巧,但似乎没有任何效果。设置内容偏移量是我的第一种方法,但没有达到我想要的效果。这是我使用的代码:-(void)addButton:(UIButton*)button{CGFloatcontentWidth=0.0f;CGRectbuttonFrame=button.frame;if([_scrollView.subviewscount]==0){buttonFrame.origin.x=self.co

objective-c - XCode 中是否有一种跨项目重用类并轻松与其他开发人员共享的好方法?

我有一个我创建的库,我想在几个不同的项目中使用包含的类,同时独立维护库代码。我还希望能够轻松地与其他开发人员共享它并让他们轻松实现它。此时它不需要是静态库。执行此操作的最佳方法是什么?我看到其他开发人员将他们的类放在一个全新的XCode项目中,然后将其导入,但最佳实践是什么? 最佳答案 我认为最好的做法是创建一个带有静态库目标的项目。其他开发人员可以将其作为子项目包含在他们的项目中。第二个最好的方法是简单地创建一个源文件目录,可以根据需要将其包含在项目中。这对于特定项目可能不需要全部实用程序代码的通用实用程序代码很有用。在这两种情况

objective-c - 你什么时候想在辅助线程上运行 NSURLConnection ?

我们正在编写一个大量使用NSURLConnection的SDK。要管理所有这些连接(例如,批量取消它们),最好是它们都在单个线程(最好是主线程)上运行。由于NSURLConnection的异步特性,这不是一个糟糕的想法-在我们的独立应用程序中,我们所有的连接都在主线程上运行,并且在连接之后在辅助线程(实际上,使用GCD或操作队列)上执行繁重的工作获得结果,没有任何停顿。所以问题是-在哪些情况下用户希望在多个线程上运行连接,以及在不是主线程的线程上运行连接?编辑:我想我没有正确解释自己。我们以异步而非同步方式使用NSURLConnection。这允许我们在主线程上运行所有连接而不会阻塞U

objective-c - 链接完成 block

我有两个不同类的实例,它们都需要向特定操作添加完成block。我将尝试笼统地解释问题,而不必解释我的应用试图执行的所有操作。ViewController正在调用资源管理器类的实例以保存资源。资源管理器然后调用要保存的资源的类以获得保存的网络操作。资源的实例创建操作并为其提供一个完成block,该block将在它触发时影响资源的状态。这就是我的问题所在-资源类还需要为此操作添加一个完成block,以便通知ViewController保存成功或失败。这是管理器上保存方法的片段:-(void)save:resourcewithCompletion:completion{...NSOperat

objective-c - 如何在宏中使用 block

我正在尝试在宏定义中使用block,但没有成功。代码如下:#defineIPHONE_OR_IPAD_BLOCK(void(^iphoneBlock)(void),void(^ipadBlock)(void))({\if(iphoneBlock&&(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone))\{\iphoneBlock();\}\elseif(ipadBlock)\{\ipadBlock();\}\})它似乎无法编译。您建议如何在宏中使用block?更新:感谢您对RamyAlZuhouri的快速回复,我将坚持使用静态函数

objective-c - 弹出只有电子邮件联系人的 ABAddressBook 模式

我正在尝试显示ABAddressBook的模态,其中仅包含注册了电子邮件的联系人。我如何实现这一点?我试过这段代码:-(IBAction)getContact{//creatingthepickerABPeoplePickerNavigationController*picker=[[ABPeoplePickerNavigationControlleralloc]init];ABAddressBookRefaddressBook=ABAddressBookCreate();CFArrayRefallPeople=ABAddressBookCopyArrayOfAllPeople(add