`

iPhone 开发过程中的一些小技术的总结

阅读更多
1 随机数的使用
头文件的引用
#import <time.h>
#import <mach/mach_time.h>
srandom()的使用
srandom((unsigned)(mach_absolute_time() & 0xFFFFFFFF));
直接使用 random() 来调用随机数
2 在UIImageView 中旋转图像
float rotateAngle = M_PI;
CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle);
imageView.transform = transform;

以上代码旋转imageView, 角度为rotateAngle, 方向可以自己测试哦!
3 在Quartz中如何设置旋转点
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];
imageView.layer.anchorPoint = CGPointMake(0.5, 1.0);
这个是把旋转点设置为底部中间。记住是在QuartzCore.framework中才得到支持。
4 创建.plist文件并存储
NSString *errorDesc;  //用来存放错误信息
NSMutableDictionary *rootObj = [NSMutableDictionary dictionaryWithCapacity:4]; //NSDictionary, NSData等文件可以直接转化为plist文件
NSDictionary *innerDict;
NSString *name;
Player *player;
NSInteger saveIndex;
for(int i = 0; i < [playerArray count]; i++) {
player = nil;
player = [playerArray objectAtIndex:i];
if(player == nil)
break;
name = player.playerName;// This “Player1″ denotes the player name could also be the computer name
innerDict = [self getAllNodeInfoToDictionary:player];
[rootObj setObject:innerDict forKey:name]; // This “Player1″ denotes the person who start this game
}
player = nil;
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:(id)rootObj format:NSPropertyListXMLFormat_v1_0 errorDescription:&errorDesc];
红色部分可以忽略,只是给rootObj添加一点内容。这个plistData为创建好的plist文件,用其writeToFile方法就可以写成文件。下面是代码:
/*得到移动设备上的文件存放位置*/
NSString *documentsPath = [self getDocumentsDirectory];
NSString *savePath = [documentsPath stringByAppendingPathComponent:@"save.plist"];
/*存文件*/
if (plistData) {
[plistData writeToFile:savePath atomically:YES];
}
else {
NSLog(errorDesc);
[errorDesc release];
}
- (NSString *)getDocumentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
return [paths objectAtIndex:0];
}
4 读取plist文件并转化为NSDictionary
NSString *documentsPath = [self getDocumentsDirectory];
NSString *fullPath = [documentsPath stringByAppendingPathComponent:@"save.plist"];
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:fullPath];
5 读取一般性文档文件
NSString *tmp;
NSArray *lines; /*将文件转化为一行一行的*/
lines = [[NSString    stringWithContentsOfFile:@"testFileReadLines.txt"]
componentsSeparatedByString:@”\n”];
NSEnumerator *nse = [lines objectEnumerator];
// 读取<>里的内容
while(tmp = [nse nextObject]) {
NSString *stringBetweenBrackets = nil;
NSScanner *scanner = [NSScanner scannerWithString:tmp];
[scanner scanUpToString:@"<" intoString:nil];
[scanner scanString:@"<" intoString:nil];
[scanner scanUpToString:@">" intoString:&stringBetweenBrackets];
NSLog([stringBetweenBrackets description]);
}
对于读写文件,还有补充,暂时到此。随机数和文件读写在游戏开发中经常用到。所以把部分内容放在这,以便和大家分享,也当记录,便于查找。
6 隐藏NavigationBar
[self.navigationController setNavigationBarHidden:YES animated:YES];
在想隐藏的ViewController中使用就可以了。

转自iOS分享网--http://iosshare.cn

分享到:
评论

相关推荐

    如何学习iPhone之开发过程中的一些小技术的总结--千锋培训

    ### 如何学习iPhone开发过程中的关键技术点 #### 一、随机数的使用 在iOS开发中,随机数的使用非常广泛,例如游戏开发中的随机事件触发、数据模拟测试等场景。常用的随机数生成方法有两种: 1. **使用`srandom()`...

    iPhone开发实战.pdf

    根据提供的文件信息,本文将对“iPhone开发实战”这一主题进行深入探讨,涵盖iPhone应用开发的基础概念、开发...随着技术的不断进步,未来还将有更多创新的方法和技术应用于iPhone开发中,值得开发者们持续关注和学习。

    iPhone开发【十一】多视图技术总结之三:Page Control

    "iPhone开发【十一】多视图技术总结之三:Page Control"这个主题聚焦于使用UIPageControl来实现滑动浏览多个页面的效果,这在许多应用中常见,如相册、教程或者轮播广告等。UIPageControl是iOS SDK中的一个控件,它...

    如何学好Iphone开发

    同时,为初学者和已经有一定基础的开发者分别提供了学习指导和交流的平台,展示了学习iPhone开发不仅仅是一个技术的过程,更是一个交流和成长的过程。 总结来说,学习iPhone游戏开发需要扎实的C/C++基础,对...

    iphone3开发基础教程(中文高清)第11章

    2. **问题解决策略**:针对开发过程中可能遇到的常见问题,提供有效的解决方案和建议。 #### 六、总结与展望 1. **回顾关键知识点**:总结本章介绍的关键知识点,强调它们在实际开发中的重要性。 2. **未来发展趋势...

    iPhone开发基础教程

    - **核心特性**:重点探讨了iPhone开发中的关键特性,包括用户界面设计、数据存储、SQ Lite数据库管理、图形处理(Quartz和OpenGL ES)、手势识别、国际化支持、位置服务等。 - **最佳实践**:书中强调了iPhone开发...

    iPhone开发【九】多视图技术总结之二:Tab Bar

    在iOS应用开发中,Tab Bar是一种常见的用户界面元素,它允许用户通过点击底部的标签来切换不同的视图控制器。在本篇文章中,我们将...在实际开发过程中,还应考虑如何根据应用需求优化Tab Bar设计,使其既美观又实用。

    Windows中安装iphone开发环境

    ### Windows中安装iPhone开发环境知识点总结 #### 一、安装准备 **1.1 下载VMWare 7.0** - **下载地址**: [VMware-workstation-7.0标准版]...

    iphone开发xml解析

    ### iPhone开发中的XML解析详解 在移动应用开发领域,尤其是针对iPhone的应用开发中,XML(Extensible Markup Language)解析是一项关键技术。XML作为一种广泛使用的数据交换格式,在web服务、配置文件处理以及各种...

    iphone3开发

    测试是iPhone 3开发过程中的重要环节。由于无法直接运行最新版本的iOS,开发者需要依赖模拟器或实际的iPhone 3设备进行测试。Apple的Developer Program允许开发者在多台设备上进行测试和分发应用程序,确保应用在...

    《iPhone开发基础教程》

    - **常见问题及解决方案**:列举了在开发过程中可能遇到的一些常见问题,并给出相应的解决策略。 #### 五、社区资源与支持 - **CocoaChina社区**:一个活跃的中文iOS开发者社区,为开发者提供了一个交流技术和分享...

    win搭建iphone开发环境

    在Windows环境下搭建iPhone开发环境是一项技术挑战,因为官方推荐的开发环境是在Mac OS X上进行的。然而,通过使用虚拟化技术,例如VMware Workstation,可以在Windows PC上模拟出Mac OS X环境,从而实现iPhone应用...

    Cocos2d-iphone 开发教程

    ### Cocos2d-iPhone开发教程相关知识点 #### 一、Cocos2d-iPhone简介与版权要求 **Cocos2d-iPhone**是一款专为iOS设备设计的2D游戏开发框架,它基于OpenGL ES图形渲染,并且拥有丰富的功能集,能够支持多种游戏...

    最新iPhone4开发指南

    - **技术支持与更新**:尽管文档中未明确提到具体的技术细节,但根据文档的性质,可以推断出它涵盖了最新的API、框架和技术规范等内容,帮助开发者掌握iPhone 4应用开发的最佳实践。 - **注意事项**:文档强调了努力...

Global site tag (gtag.js) - Google Analytics