Tag: macros

序列化NSURLConnection请求(iOS) – 使用同步请求?

我正在循环查看date列表,并向列表中的每个date的Web服务器发出请求。 我希望在将后续请求发送到服务器之前完全处理每个date。 为此,我build立了一个使用GCD的串行调度队列。 每次通过date循环时,一个块被添加到队列中。 我遇到的问题是我的NSURLConnection使用标准asynchronous调用进行设置。 这导致请求不会阻止任何后续请求。 他们因此超越对方。 我的问题:这是一个情况下,我有可能使用同步 NSURLConnection(在调度队列内)还是有一些其他方式使它使用标准asynchronous调用工作?

如何在启动时debuggingiOS应用程序崩溃,仅在程序集文件中产生断点

我正在面对一个正在开发的应用程序的问题。 问题是,应用程序在启动时崩溃了一段时间,只有在这种情况下。 在杀死应用程序时启动应用程序不会导致崩溃,从debugging器或电话。 在后台启动应用程序约5-10分钟不会导致崩溃,而不是debugging。 在backgorund启动应用程序大约15-20分钟导致崩溃。 对exception使用debugging器和断点给了我这个文件: libdispatch.dylib`_dispatch_assert_queue_fail: 0x349c6ce4: push {r4, r5, r7, lr} 0x349c6ce6: add r7, sp, #0x8 0x349c6ce8: sub sp, #0xc 0x349c6cea: movw r5, #0x7810 0x349c6cee: mov r4, r0 0x349c6cf0: movt r5, #0x1 0x349c6cf4: movw r12, #0x7af0 0x349c6cf8: movt r12, #0x1 0x349c6cfc: movw r9, #0x7a83 0x349c6d00: movt r9, #0x1 0x349c6d04: ldr r0, [r4, #0x48] […]

GCD和for循环

我想知道使用for循环和使用GCD的dispatch_apply函数有什么区别,在文档中也找不到答案,也没有在这里的问题。 另外,在运行时使用GCD函数作为GLKit的渲染/更新方法会产生更好的结果吗?

如何定义一个函数macros来检查多个本地化的string文件之间的密钥?

我有一个Localizable.strings文件,用于我的项目的i18n,而一个lib使用KYLocalizable.strings 。 我已经考虑从KYLocalizable.strings使Localizable.strings “子类”,但它不能据我所知。 所以相反,我想定义一个像SDK一样的函数macros: #define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil] #define NSLocalizedStringFromTable(key, tbl, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)] 伪代码: #define CustomLocalizedString(key, comment) \ // if key exists in Localizable.strings // use it [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil] // else // search it in KYLocalizable.strings [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:@"KYLocalizable"] […]

目标C日志方法调用

可能重复: 如何将一个方法的所有参数传入NSLog? 我可以设置一个macrosprintCommand来logging方法调用的接收器和select器,如下所示: #define printMethodCall NSLog (@"%@ %@", self, NSStringFromSelector(_cmd)); 问题 – 可以扩展上面的所有参数,通过方法调用传递,但是很less或很多,以及任何types,他们可能是?

如何检测IOS 7和IOS 8和宽屏iPhone的大小,使我的应用程序通用?

我正在开发所有设备和IOS 7和IOS 8的通用IOS应用程序。我有这个macros: 这个macros是用来检测宽屏幕的iPhone 5的,这适用于IOS 7: #define IS_WIDESCREEN_IOS7 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height – ( double )568 ) < DBL_EPSILON ) 这个macros也适用于宽屏幕iPone 5,但只适用于IOS 8: #define IS_WIDESCREEN_IOS8 ( fabs( ( double )[ [ UIScreen mainScreen ] nativeBounds ].size.height – ( double )1136 ) < DBL_EPSILON ) 我需要结合这个代码使它在IOS 7和IOS 8上工作,为此我需要select器来检测IOS版本,下面是代码: #define […]

使用单个共享后台线程进行iOS数据处理?

我有一个应用程序,我正在从networking上下载一些资源,并对每一个进行一些处理。 我不希望这个工作在主线程上发生,但是它是非常轻量级和低优先级的,所以它们都可以在同一个共享工作线程上发生。 这似乎是一件好事,因为需要设置和拆除所有这些工作线程(这些线程都不会很长,等等)。 令人惊讶的是,似乎没有一种简单的方法可以让所有这些工作都在一个共享的线程上进行,而不是为每个任务产生一个新的线程。 实现并发的途径多年来似乎已经出现,这很复杂。 (显式NSThreads , NSOperationQueue ,GCD等) 我是否高估了产生所有这些线程的开销? 我应该只是没有汗水,并使用更容易的每个任务的方法? 使用GCD,并假定它比我更聪明的线程(重新)使用?

iOS创buildmacros

我有一段相当经常使用的代码,并想从中创build一个macros。 我不确定如何做到这一点。 这是我想要使用的代码 UIImage *titleImage = [UIImage imageNamed:@"myLogo.png"]; UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; self.navigationItem.titleView = titleImageView; [titleImageView release]; 我想把这个块定义为一个macros,所以我可以稍后说例如addImage(…); 谢谢你的帮助。

Objective-C调用中的macrosisEqualToString:产生关于无效标记的错误

我试图定义一个这样的macros: #define SOME_DEF [[TTys getString] isEqualToString:ANOTHER_STRING] 然后执行以下操作: #if SOME_DEF … #endif [TTys getString]返回一个NSString ANOTHER_STRING在前面定义为#define ANOTHER_STRING "hello" 在#if SOME_DEF行上出现以下错误: 预处理器expression式开始处的标记无效 基于这个SO问题,这可能是由编译时无法解决的问题引起的,但是我已经定义了一切。 我怀疑是isEqualToString方法,但我不知道另一种方法来做到这一点。

Swift +macros参数

我读了所有有关macros在Swift问答,而且我确实知道everything in Swift now global,中的everything in Swift now global, 对吗? 而我的实际问题是,如果我有一个macros,我需要parameter passing,那么我怎么能传递它在Swift语言? 例如 Objective-Cmacros #define COLOR_CODE(red, green, blue, alpha) [UIColor colorWithRed: red/255.0 green: green/255.0 blue: blue/255.0 alpha: alpha] 上面的macros是什么Swift语法?