mark 的总结开发笔记

阅读更多
2、播放音乐:
-( void ) playMusic
{
@try {
//取文件路径
NSString *musicFilePath = [[ NSBundle mainBundle ] pathForResource : @"startLogo" ofType : @"mp3" ];
NSURL *musicURL = [[ NSURL alloc ] initFileURLWithPath :musicFilePath];
musicPlayer = [[ AVAudioPlayer alloc ] initWithContentsOfURL :musicURL error : nil ];
[musicURL release ];
//[musicPlayer prepareToPlay];
//[musicPlayer setVolume:1]; //设置音量大小
musicPlayer . numberOfLoops = 0 ; //设置播放次数,-1为一直循环,0为一次
[ musicPlayer play ];
}
@catch ( NSException * e) {
}
}
******************************************************************************/
/******************************************************************************
3、每隔0.8秒执行 timeCount 方法
NSTimer * countTimer ;
countTimer = [ NSTimer scheduledTimerWithTimeInterval : 0.8 target : self selector : @selector ( timeCount :) userInfo : nil repeats : YES ];
[ countTimer fire ]; // 执行 timer
******************************************************************************/
/******************************************************************************
4、延迟1秒执行test方法:
[ self performSelector : @selector ( test ) withObject : nil afterDelay : 0.1 ];
******************************************************************************/
/******************************************************************************
5、启动线程:
[ NSThread detachNewThreadSelector : @selector ( transImage ) toTarget : self withObject : nil ];
timer =[ NSTimer scheduledTimerWithTimeInterval : 0.03 target : self selector : @selector ( TimerClock :) userInfo : nil repeats : YES ]; // 启动一个 NSTimer 执行广播
[ timer fire ]; //执行timer

-( void )TimerClock:( id )sender
{
//控制延迟触发
if ( Timecontrol > 1 ) {
[ timerCondition broadcast ]; //广播,触发处于等待状态的timerCondition
}
}

-( void )transImage
{
isRunning = YES ;
while ( countTime < COUNTTIME ) {
[ timerCondition wait ];
lim += 255 / ( 2 * KFrame );
[ self processImage ];
countTime += 1000 / KFrame ;
}
[ timer invalidate ];
isRunning = NO ;
}
******************************************************************************/
/******************************************************************************
6、获取文件路径:
//通过NSHomeDirectory获得文件路径
NSString *homeDirectory = NSHomeDirectory ();
NSString *fileDirectory = [homeDirectory stringByAppendingPathComponent : @"temp/app_data.plist" ];

//使用NSSearchPathForDirectoriesInDomains检索指定路径
NSArray *path = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES );
//常量NSDocumentDirectory表示正在查找Documents目录的路径(使用NSCachesDirectory表明要查找的时Caches文件夹),常量NSUserDomainMask表明我们希望将搜索限制于我们应用程序的沙盒,最后一个参数决定了是否“展开”波浪线符号。
//在Mac系统中,‘~’表示主路经(Home),如果不展开,路径看起来就是:‘~/Documents’,展开后即得到完整路径。这个参数一直设置位真即可。
NSString *documentsDirectory = [paths objectAtIndex : 0 ];z
NSString *fileDirectory = [documentsDirectory stringByAppendingPathComponent : @"file.txt" ];

//使用Foundation中的NSTemporaryDirectory函数直接返回代表temp文件夹的全路径的字符串对象
NSString *tempDirectory = NSTemporaryDirectory ();
NSString *file = [tempDirectory stringByAppendingPathComponent : @"file.txt" ];


Example:
NSArray *path = NSSearchPathForDirectoriesInDomains ( NSCachesDirectory , NSUserDomainMask , YES );
NSString *docDir = [path objectAtIndex : 0 ];
NSLog ( @"filepath:%@" ,docDir);
NSString *str = @"hello.jpg" ;
NSString *filepath = [docDir stringByAppendingPathComponent :str];
//NSString *filepath = [docDir stringByAppendingPathComponent:[NSString stringWithUTF8String:"///mest.txt"]];
NSLog ( @"filepath:%@" ,filepath);
BOOL success = [[ NSFileManager defaultManager ] createFileAtPath : filepath contents : nil attributes : nil ];
NSLog ( @"result" ,success);
printf ( "Create File:%s %s." ,[filepath UTF8String ], success ? "Success" : "Error" );

NSString * reValue= [ NSString stringWithString : @"\"success\"" ];
NSLog (reValue);
******************************************************************************/
/************************************************************************************************************************************************************
7文件、文件夹操作
//如果"/Documents/Theme"路径不存在,则创建。
if (![[ NSFileManager defaultManager ] fileExistsAtPath :themePath])
{
[[ NSFileManager defaultManager ] createDirectoryAtPath :themePath attributes : nil ];
}
//删除已存在的同名文件夹
if ([[ NSFileManager defaultManager ] fileExistsAtPath :savePath]) {
[[ NSFileManager defaultManager ] removeItemAtPath :savePath error : NULL ];
}
************************************************************************************************************************************************************/
/************************************************************************************************************************************************************
7子线程抛给主线程:
[ self performSelectorOnMainThread : @selector ( shiftView ) withObject : nil waitUntilDone : YES ];

************************************************************************************************************************************************************/
/************************************************************************************************************************************************************
8获取当前时间
NSDateFormatter *formatter = [[ NSDateFormatter alloc ] init ];
[formatter setDateFormat : @"yyyy-MM-dd hh:mm:ss" ];
NSString *locationString=[formatter stringFromDate : [ NSDate date ]];

//获取当前时间作为productId
NSDateFormatter *formatter = [[ NSDateFormatter alloc ] init ];
[formatter setDateFormat : @"hhmmss" ];
NSString *locationString=[formatter stringFromDate : [ NSDate date ]];
downloadInfo.productId = locationString;
[formatter release ];
/******************************************************************************
函数名称 : getDate
函数描述 : 获取当前日期时间
输入参数 : N/A
输出参数 : N/A
返回值 : NSString 当前时间
备注 :
******************************************************************************/
-( NSString *)getDate
{
NSDateFormatter *formatter = [[ NSDateFormatter alloc ] init ];
[formatter setDateFormat : @"yyyy-MM-dd EEEE HH:mm:ss a" ];
NSString *locationString=[formatter stringFromDate : [ NSDate date ]];
[formatter release ];
return locationString;
}
大写的H日期格式将默认为24小时制,小写的h日期格式将默认为12小时
不需要特别设置,只需要在dataFormat里设置类似"yyyy-MMM-dd"这样的格式就可以了
日期格式 如下 :
y年Year1996; 96
M年中的月份MonthJuly; Jul; 07
w年中的周数Number27
W月份中的周数Number2
D年中的天数Number189
d月份中的天数Number10
F月份中的星期Number2
E星期中的天数TextTuesday; Tue
aAm/pm 标记TextPM
H一天中的小时数(0-23)Number0
k一天中的小时数(1-24)Number24
Kam/pm 中的小时数(0-11)Number0
ham/pm 中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number55
S毫秒数Number978
z时区General time zonePacific Standard Time; PST; GMT-08:00
Z时区RFC 822 time zone-0800
************************************************************************************************************************************************************/
/************************************************************************************************************************************************************
读取和写入plist文件

plist文件是标准的xml文件,在cocoa中可以很简单地使用。这里介绍一下使用方法: 以下代码在Mac和iPhone中均适用。
写入plist文件: NSMutableDictionary * dict = [ [ NSMutableDictionary alloc ] initWith

plist文件是标准的xml文件,在cocoa中可以很简单地使用。这里介绍一下使用方法:

以下代码在Mac和iPhone中均适用。

写入plist文件:
NSMutableDictionary * dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile : @"/Sample.plist" ];
[ dict setObject : @"Yes" forKey : @"RestartSpringBoard" ];
[ dict writeToFile : @"/Sample.plist" atomically : YES ];

读取plist文件:

NSMutableDictionary * dict = [ [ NSMutableDictionary alloc ] initWithContentsOfFile : @"/Sample.plist" ];
NSString * object = [ dict objectForKey : @"RestartSpringBoard" ];
************************************************************************************************************************************************************/

你可能感兴趣的:(mark 的总结开发笔记)