iOS 复习题(二)(11)
// 不存在,创建一个userData目录
[fileManagercreateDirectoryAtPath:[NSStringstringWithFormat:@"%@/userData",documentsDirectory]withIntermediateDirectories:falseattributes:nilerror:nil];
}
74.do-while与 while-do的区别?
do-while 先执行循环体,然后判断条件,如果条件判断为ture,则继续执行循环体,如果判断为false,则不执行循环体
while-do 是先判断条件是否正确,若正确则执行循环体,若不正确则不执行循环体。
所以do-while至少循环一次,而while-do有可能一次也不循环。
75.用C语言,求2到100内的所有素数和。
#include<stdio.h>
intisPrime(int n) //求素数,这是最经典的算法代码。建议记住
{
inti;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
inti,sum=0;
for(i=2;i<100;i++)
if( isPrime(i))
sum+=i;
printf("%5d",sum);
return 0 ;
}
intisPrime(int n)
{
inti;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
break;
}
if(i>n/2)
return1;
else
return0;
}
76.单件实例是什么(10分)。
Foundation 和 Application Kit 框架中的一些类只允许创建单件对象,即这些类在当前进程中的唯一实例。举例来说,NSFileManager 和NSWorkspace 类在使用时都是基于进程进行单件对象的实例化。当向这些类请求实例的时候,它们会向您传递单一实例的一个引用,如果该实例还不存在,则首先进行实例的分配 和初始化。 单件对象充当控制中心的角色,负责指引或协调类的各种服务。如果类在概念上只有一个实例(比如
NSWorkspace),就应该产生 一个单件实例,而不是多个实例;如果将来某一天可能有多个实例,您可以使用单件实例机制,而不是工厂方法或函数。
77.自动释放池是什么,如何工作。
当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>