如果我有一个串行队列,我怎么能从主线程告诉它立即停止执行并取消其所有任务?
当您创建XCode 4项目时,它会询问您是否要包含单元测试.但是,如何将它添加到没有它们的项目中呢?
我开始了一个单元测试的项目,试图找出它,看起来它和我现有的项目之间的唯一区别是新项目中的Test.h和Test.m文件.
但是,当我将它们移动到我的旧项目并尝试构建时,它说没有这样的文件或目录:SenTestingKit/SenTestingKit.h.这对我来说看起来像一个框架,但是如果我去构建阶段并尝试添加框架,那么没有一个可用的SenTestingKit :(而新项目只链接常见的嫌疑人:UIKit,CoreGraphics和Foundation,但是没有SenTestingKit.
而不是只针对iPhone?我需要决定是否同时针对两者,但我只做了iPhone开发,所以我无法估计需要多长时间才能同时使用iPhone和iPad应用程序.关于我正在尝试做什么的一些信息:
在iPhone上使用导航控制器,将在iPad上使用拆分视图控制器
在iPhone版本的视图控制器中有三个单独的视图,我将在iPad版本的一个视图中显示所有视图.
所以我想知道,一般来说,它会增加多少开发时间?答案有多粗糙?此外,iPhone开发人员如何学习为iPad开发的学习曲线?这可能很难回答,但即使是粗略估计也比没有好.
我可以让我的应用程序截取视图内容的屏幕截图并将其附加到电子邮件中吗?怎么样?
有人告诉我,我可以将属性设为私有,这样只有类的一个实例可以引用它们(通过self.)
但是,如果我在类接口中使用@private然后正常声明属性,它仍然可以从类外部访问...那么如何才能将属性设为私有?请说出语法示例.
我是排队的新手,我在设置以下方案时遇到了一些麻烦.
我有三个需要做的任务.
任务A:只能在主队列上运行,可以与任务B异步运行,不能与任务C异步运行.运行很多但运行速度相当快.
任务B:可以在任何队列上运行,可以与任务A异步运行,不能与任务C异步运行.运行很少,但需要很长时间才能运行.需要任务C以后运行,但任务C再次无法与任务A异步运行.
任务C:可以在任何队列上运行.无法与任务A或任务B异步运行.很少运行并快速运行.
现在,我有这样的:
任务A由串行队列X提交到主队列(任务被提交到串行队列X以将任务A提交到主队列).
任务B提交给Serial Queue X.
任务C由Serial Queue X提交到主队列,就像任务A一样.
这里的问题是任务C有时与任务B同时运行.主队列有时在串行队列运行任务B的同时运行任务C.
那么,如何确保任务B和任务C不会同时运行,同时仍允许A和B同时运行并阻止A和C同时运行?此外,有没有简单的方法来确保它们运行相同的次数?(来回交替)
从我通过阅读Apple的文档可以看出,UI更新只能在主线程上运行.
我的应用程序在屏幕的上半部分进行了一些渲染,并在下半部分有一个表格视图.如果用户在上半部分重新绘制时滚动表格,则表格会锁定半秒钟左右.有什么方法可以改善这种情况吗?
我正在制作一个基本上如下图形的图例:
[ ] Line 1
[ ] Line 2
[ ] Line 3
Run Code Online (Sandbox Code Playgroud)
左侧的框需要与图表上的线条颜色相同.
无论如何,我需要知道的是,用Core Graphics绘制方框是否更快,或者只是用GIMP为方块制作一些png并包含它们.
我有一些方法,我没有在我的类的接口中声明,因为只有类中的代码应该使用它们.但是当方法想要调用在它们下面实现的方法时,我的方法的安排会产生一些"......可能不响应选择器..."警告.
有什么办法可以在我的实现文件中为这些伪私有方法声明原型,这样我就不会收到这些警告了吗?
我有一个奇怪的问题.
我有一个通过调用通知中心发送通知的方法,如下所示:
[[NSNotificationCenter defaultCenter] postNotificationName:@"NIDNewDataSetNotification" object:self];
Run Code Online (Sandbox Code Playgroud)
如果我在发送通知之前的NS时间,我发现它每秒发送一次,就像它应该的那样.
我在另一个对象中有一个方法,它将自己添加为观察者,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveDataNotification:) name:@"NIDNewDataSetNotification" object:nil];
Run Code Online (Sandbox Code Playgroud)
但是,通过NSLogging时间,我看到它每秒收到四次通知(所有四次都在0.001秒内).
没有其他通知被发送.如果我注释掉发送通知的行,我的方法就不会调用捕获通知的方法.
有任何想法吗?
iphone ×10
ios ×9
xcode ×8
objective-c ×5
ipad ×1
oop ×1
properties ×1
uiview ×1
unit-testing ×1
xcode4 ×1