Tag: cocoa touch

Objective-C与块的延迟行为

我知道在Objective-C中有几种延迟操作的方法,例如: performSelector:withObject:afterDelay: 或使用NSTimer 。 但是有一个叫块的东西,你可以这样做: [UIView animateWithDuration:1.50 delay:0 options:(UIViewAnimationOptionCurveEaseOut|UIViewAnimationOptionBeginFromCurrentState) animations:^{ }completion:^(BOOL finished){ }]; 不幸的是,这种方法只适用于animation的东西。 我怎样才能创build一个块的延迟在一个方法,所以我不必使用所有这些@select器,而不需要创build一个新的单独的方法 ? 谢谢!

在objective-c / cocoa-touch中有一个方便的function来find最小的数字吗?

我有两个号码,需要返回下面的号码。 有什么function我可以使用? 当然这是一件容易的事情,我可以做一个if语句。 我只是想知道。

cocoa错误3840使用JSON(iOS)

我试图发送数据到服务器,并以JSON格式接收响应。 问题是,服务器必须返回“成功”或“失败”,但它返回“(空)”。 这是返回的错误: 错误域= NSCocoaErrorDomain代码= 3840“该操作无法完成(cocoa错误3840.)”(JSON文本没有开始与数组或对象和选项,以允许片段没有设置)UserInfo = XXXXXXXXX {NSDebugDescription = JSON文本没有开始数组或对象和选项,以允许片段没有设置。} 是否有可能是在服务器脚本中的错误? 任何想法? 谢谢! 这是我的function发送数据和接收响应: – (void) putData:(NSString *)parametre valor:(NSString *)valor { NSString *rawString = [NSString stringWithFormat:@"%@=%@", parametre, valor]; NSData *data = [rawString dataUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:@"http://www.xxx.xxx/xxx.php"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"PUT"]; [request setHTTPBody:data]; NSURLResponse *response; NSError *error; NSData *responseData = […]

如何在OCMock中存根类的方法?

我经常在我的iPhone Objective-Cunit testing中发现我想要将一个类方法(例如NSUrlConnection的+ sendSynchronousRequest:returningResponse:error:方法)存根出来。 简单的例子: – (void)testClassMock { id mock = [OCMockObject mockForClass:[NSURLConnection class]]; [[[mock stub] andReturn:nil] sendSynchronousRequest:nil returningResponse:nil error:nil]; } 运行这个时,我得到: Test Case '-[WorklistTest testClassMock]' started. Unknown.m:0: error: -[WorklistTest testClassMock] : *** -[NSProxy doesNotRecognizeSelector:sendSynchronousRequest:returningResponse:error:] called! Test Case '-[WorklistTest testClassMock]' failed (0.000 seconds). 我真的很难find任何文档,但我认为OCMock不支持类方法。 我经过了很多Googlesearch之后发现了这个技巧。 它工作,但是非常麻烦: http : //thom.org.uk/2009/05/09/mocking-class-methods-in-objective-c/ 无论如何要在OCMock内做到这一点? 或者,有人可以想到一个聪明的OCMock类别对象,可以写成这样的事情?

自定义UISegmentedControl

我如何做一个自定义的UISegmentedControl ? 我有2张图片,当段被激活时应该显示1,而如果段没有激活,则显示另一张。 我可以重写样式或东西,所以我有一个UISegmentedControl与我自己的图像作为活动/不活动的背景?

在XCode 4.5中使用ZXing库时,架构armv7的未定义符号

我正在尝试做什么 在我的iPhone项目中集成Zxing ,QR码阅读器框架。 我从这里检查了ZXing sdk。 我运行了名为ScanTest的ZXing示例项目,没有任何问题。 但是,当我尝试将图书馆与我的项目集成时,我收到了错误。 项目规范 目标操作系统 :iOS 6.0 部署目标 :iOS 5.0或更高版本。 testing :iPhone 4和iPhone 3GS。 XCode :Xcode 4.5.1 ZXing版本 :2.0 问题 当我在ZXing自述文件中进行每一个整合步骤之后,我正在得到像这样的构build错误 Undefined symbols for architecture armv7: "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from: zxing::qrcode::Detector::computeDimension(zxing::Ref<zxing::ResultPoint>, zxing::Ref<zxing::ResultPoint>, zxing::Ref<zxing::ResultPoint>, float) in libZXingWidget.a(Detector-B8B28E953F840D47.o) Undefined symbols for architecture armv7: "std::basic_string<char, std::char_traits<char>, std::allocator<char> […]

如何animation层shadowOpacity?

我有一个视图,我已经把layerOpacity设置为1。 theView.layer.shadowOpacity = 1.0; 当视图更靠近屏幕时,这看起来很好。 当我把这个观点与另一个有阴影的观点齐平时,他们看起来不太好。 有没有一种方法可以使我的图层上的shadowOpacityanimation为0? 我尝试使用animation块,但似乎这个属性是不可animation的。 编辑:请求代码不起作用: [UIView animateWithDuration:1.0 animations:^{ splitView2.layer.shadowOpacity = 0;} completion:NULL];

从NSArray执行块?

我只是想,因为你可以把块像对象,如果我创build两个,然后将它们添加到一个NSArray有没有办法从数组中执行它们? int (^Block_001)(void) = ^{ return 101; }; int (^Block_002)(void) = ^{ return 202; }; NSArray *array = [NSArray arrayWithObjects:Block_001, Block_002, nil]; 编辑:更新清晰Per @ davedelong的优秀答案 int (^Block_001)(void) = [^{ return 101; } copy]; int (^Block_002)(void) = [^{ return 202; } copy]; NSArray *array = [NSArray arrayWithObjects:Block_001, Block_002, nil]; [Block_001 release]; [Block_002 release];

NSFileManager唯一的文件名

我需要一个快速简单的方法来在iOS上存储具有唯一文件名的文件。 我需要在文件前加一个string,然后将生成的唯一标识符追加到最后。 我希望NSFileManager有一些方便的方法来做到这一点,但我似乎无法find它。 我在看createFileAtPath:contents:attributes:但我不确定这些属性是否会给我这个唯一的文件名。

使Objective-C类看起来很美

我想问你们所有的意见在目标C的代码气味,特别是cocoa触摸。 我正在制作一个相当复杂的游戏,并且即将开始伟大的12月重构。 我的很多课程,特别是模型,充满了处理内部商业逻辑的方法; 我将把这些隐藏在一个私人的类别中,在对抗大量头文件的战争中。 这些私有类别包含了大量的声明,这让我感到不安…就像Objective-C出来让我对所有这些方法感到内疚。 我重构得越多(一件好事!),就越需要保持所有这些重复(不太好)。 这只是感觉不对。 像Ruby这样的语言,社区非常注重非常简短,清晰,美丽的方法。 我的问题是,Objective C(特别是Cocoa Touch),你的方法有多长,你的控制器有多大,以及你们所有项目中你发现每种types的方法有多less? 在目标C中,有什么特别好的,美丽的由短方法构成的类的例子,还是不是语言文化的重要组成部分? 披露:我正在阅读“小小的Schemer”,这应该解释我的悲伤,重新:客观C.