在网上看到很多,但是都没人写答案!我自己做了做,也许不对,请各方友人指正。
1.objective-c中的数字对象都有哪些,简述它们与基本数据类型的区别是什么?
所谓数字对象个人理解应该是类似java中Integer,Long,Float等等,在OC中NSNumber是数字对象,可以进行拆装箱操作!
//将int转为NSNumber
NSNumber *num = [NSNumber numberWithInt:123];
//得到一个int
int testNum = [num intValue];
2.用NSLog打印一个浮点数,保留两位小数,结果四舍五入
注意,其实NSInteger,CGFloat这些都是Fundation框架下的名称,跟咱们用的int和float一样。
NSLog(@"保留两位小数:%.2f",4.8356);
3.截取字符串”20|http://zcw-java.iteye.com“ 中 ‘|’字符前面及后面的数据,分别输出它们
NSRange range = [str rangeOfString:@"|"];//获取范围
int location = range.location;//获取位置
NSString *str1 = [str subStringToIndex:location];//截取到第几位
NSString *str2 = [str subStringFromIndex:location+1];//从第几位开始截取
如果字符串是|20|3020|20|||40|这样的,那么就需要另一种方式了
首先按照|符号进行分割
NSArray *array = [str componentsSeparatedByString:@"|"];
遍历后判断非空
4.objective-c中的词典对象、可变词典对象是哪个,初始化一个含有两个键值对的可变词典对象,并动态的添加和删除一条记录,输出第一条记录
词典NSDictionary,可变词典NSMutableDictionary,
//初始化一个可变词典,带有2个键值对
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",nil];
//添加
[dic setObject:@"value3" forKey:@"key3"];
//删除
[dic removeObjectForKey:@"key3"];
//获取(按key获取)
[dic objectForKey:@"key1"];
5.获取项目根路径,并在其下创建一个名称为userData的目录。
// 获取根路径
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:];
// 创建文件系统管理器
NSFileManager *fileManager = [[NSFileManager alloc] init];
// 判断userData目录是否存在
if(![fileManager fileExistsAtPath:[NSString stringWithFormat:@"%@/userData", documentsDirectory]]) {
// 不存在,创建一个userData目录
[fileManager createDirectoryAtPath:[NSString stringWithFormat:@"%@/userData", documentsDirectory]withIntermediateDirectories:false attributes:nil error:nil];
}
如果你在mac上测试一定是在你得文稿下边,但装到手机上就不一样了,每一个iPhone应用都会有一个自己独立得documents,所以不会冲突!
6.在一个对象的方法里面:self.name = “object”;和name =”object”有什么不同吗?
这个比较重要,self.name="object"隐式调用了set方法,所以这里如果你的set是自己写的,那么一定不要在set里self.name=name;这样的语法会造成死循环,还会使retainCount(引用计数+1)
name=“object”,直接赋值!引用计数不变
7.定义属性时,什么情况使用copy,assign,和retain
assign用于简单数据类型,如NSInteger,double,bool。
retain 和copy用户对象,copy用于当 a指向一个对象,b也想指向同样的对象的时候,如果用assign,a如果释放,再调用b会crash,如果用copy 的方式,a和b各自有自己的内存,就可以解决这个问题。retain 会使计数器加一,也可以解决assign的问题。另外:tomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。
8.ViewController 的viewDidLoad,viewDidUnload,dealloc,viewWillAppear,viewWillDisappear
1、viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用
例如动态在view添加一个按钮等
2、viewDidUnload当系统内存吃紧的时候会调用该方法,在该方法中将所有IBOutlet(无论是property还是实例变量)置为nil(系统release view时已经将其release掉了)在该方法中释放其他与view有关的对象、其他在运行时创建(但非系统必须)的对象、在viewDidLoad中被创建的对象、缓存数据等 release对象后,将对象置为nil(IBOutlet只需要将其置为nil,系统release view时已经将其release掉了)
这里需要说明Unload在3.0之后被广泛使用,现在已经很少用didReceiveMemoryWarning,
3、dealloc方法,viewDidUnload和dealloc方法没有关联,dealloc还是继续做它该做的事情
流程应该是这样:
(loadView/nib文件)来加载view到内存 -->viewDidLoad函数进一步初始化这些view -->内存不足时,调用viewDidUnload函数释放views -->当需要使用view时有回到第一步
如此循环
4、viewWillAppear方法,视图即将过渡到屏幕上时调用,(一般在返回需要刷新页面时,我都选择使用代理,所以很少用到)
5、viewWillDisappear方法,这个A->B之后,A在B之后的操作
9.写一个发送同步http请求,并获得返回结果的方法
10.怎样启动一个新线程,子线程怎样刷新主UI
[/color]
[color=red]
[/color]
[color=red]
分享到:
相关推荐
《iPhone 13.1真机调试包:深入解析与应用》 在iOS开发领域,真机调试是不可或缺的一部分,它允许开发者在实际设备上测试应用程序,以确保软件的兼容性和性能。本篇文章将深入探讨“iPhone 13.1.rar”这个压缩包的...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上的表现。本文将深入探讨“iOS 16.3真机调试包”,以及如何利用Xcode进行有效的真机...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和真实使用环境下运行无误。iOS 13.5是苹果公司发布的一个重要版本,引入了许多新功能和性能优化...
《Xcode 16.1真机调试包详解与应用》 在iOS开发领域,Xcode作为Apple官方的集成开发环境(IDE),是每一位开发者必备的工具。Xcode 16.1版本的发布,为开发者带来了更多优化和新特性,特别是针对真机调试功能的改进...
Xcode提供了强大的集成开发环境(IDE),支持代码编写、编译、调试,并且可以通过USB连接iPhone或iPad进行实时测试。在Xcode中,开发者可以设置断点、查看变量值、监控性能指标,以便找出并解决潜在问题。 对于...
这个压缩包文件"iOS11.3 11.4 12.0真机调试支持文件"包含了Xcode在这些特定iOS版本上进行真机调试所需的必要组件。 首先,让我们深入了解真机调试的重要性。在模拟器上调试虽然方便,但无法完全模拟真实设备的性能...
本资源“iOS11.3真机调试包”是专为iOS 11.3版本设计的,用于帮助开发者在该系统版本的iPhone或iPad上进行真机调试。 首先,我们需要了解什么是真机调试。在iOS开发中,开发者通常会使用Xcode IDE进行编程。Xcode...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上运行无误。标题提到的“iOS 真机调试包”是一个专门为iOS开发者提供的工具集合,用于...
在iOS应用开发过程中,真机调试是不可或缺的一环。它允许开发者在真实的设备上测试应用程序,确保其在各种硬件配置和系统版本上的表现。这里提到的"iOS12真机调试包"是针对iOS 12操作系统的一个关键组件,主要用于...
本压缩包“iOS真机调试包(Xcode)”专为iOS 16.1至16.3系统设计,旨在帮助开发者在真实设备上进行调试工作,而非仅仅依赖模拟器。以下将详细介绍这个调试包的使用方法以及与iOS真机调试相关的知识点。 首先,下载...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际的设备上测试应用程序,确保软件在各种硬件配置和系统版本上的表现。这里我们关注的是“iOS11.2 真机调试包”,这是一份专为在iOS 11.2系统上...
真机调试是iOS开发流程中的核心部分,它允许开发者在真实的iPhone或iPad上运行代码,观察应用在不同硬件和系统版本上的行为。与模拟器相比,真机调试提供了更真实、更详尽的反馈,能够捕捉到模拟器可能遗漏的问题。...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上的表现。本文将详细介绍"ios15.7真机调试包"及其相关知识点。 首先,"ios15.7"指的...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际的iPhone或iPad设备上测试应用程序,确保代码在真实环境下运行的稳定性和性能。本文将深入探讨“iOS 12.2真机调试包”及其使用方法,以及相关的...
在iOS开发领域,真机调试是开发者不可或缺的功能,它允许程序员在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上运行无误。本文将深入探讨“最新iOS 17.0真机调试包”以及与之相关的Xcode、iOS和Mac...
这是16的真机调试包,文件直接解压放到 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
在这个iOS 16 RC真机调试包中,开发者可以找到必要的工具和资源,以便在真实iPhone或iPad设备上运行和调试他们的应用程序。这包括Xcode的更新版本,它是苹果官方的集成开发环境(IDE),用于编写、测试和调试iOS应用...