摘要: + (BOOL)validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:email];} 阅读全文
posted @ 2012-07-13 15:58 ValeTu 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 前言 感谢您付出宝贵的才华与时间来开发iOS应用程程序。从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的 事业。我们希望帮助您加入这个成功的组织。这是我们首次发布《应用程序商店评估指导》(App Store Review Guidelines)。通过它,我们希望帮助您解决开发应用程序时遇到的问题,以便于您在提交应用程序时,可以加快审批流程的速度。 我们将应用程序(Apps)视为与书籍或歌曲不同的产品,我们并不存储它们。如果您意欲批评宗教,那就去写本书。如果您想要描述**过程,写本书或写首歌 曲,或者可以创建一个医疗程序。这会出现非常复杂的局面,但是我们决定,在应用程序商 阅读全文
posted @ 2012-07-13 14:34 ValeTu 阅读(179) 评论(0) 推荐(0) 编辑
摘要: NSDictionary*infoDictionary = [[NSBundle mainBundle]infoDictionary];CFShow(infoDictionary);// app名称NSString*app_Name = [infoDictionaryobjectForKey:@"CFBundleDisplayName"];// app版本NSString*app_Version = [infoDictionaryobjectForKey:@"CFBundleShortVersionString"];// app build版本NSStr 阅读全文
posted @ 2012-07-13 10:20 ValeTu 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 44、不带参数通知的使用//新建通知[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(newMsg)name:@"newmsg1"object:nil];//通知调用的方法-(void)newMsg{}//调用通知[[NSNotificationCenterdefaultCenter]postNotificationName:@"newmsg"object:self];45、带参数通知的使用//新建通知[[NSNotificationCenterdefaultCe 阅读全文
posted @ 2012-07-11 19:46 ValeTu 阅读(199) 评论(0) 推荐(0) 编辑
摘要: UIAlertView,从个人角度来讲,认为苹果所提供的使用delegate,而将一个对话框的处理拆分为上下文的方式,并不是一个很好的方 案。很多时候,会复杂化程序以及处理逻辑,而一堆的if-else或者switch-case也是很烦人的一件事情。所以,很多开发者对它动手脚。如果你需要找的是,能够优美的处理不同的UIAlertView按键事件,那么你可以参考林家男孩的这篇博客。但是,如果你想找的是模态对话框的功能,你可以参照一下以下的内容。很多时候,我们只是需要一个模态对话框,让用户选择是或者否,让代码继续下去。去写上下文分支,真的是个很麻烦的事情,尤其是假如你的应用需要按照 某种顺序,根据第 阅读全文
posted @ 2012-07-10 20:25 ValeTu 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 在模拟器中运行iOS程序,都会为该程序创建一个沙盒(SandBox)。首先声明,我用的系统是Max OS X 10.7.3,编译器是Xcode 4.3.2。想要找到沙盒目录,先运行Finder,然后在Finder的菜单栏找到前往—前往文件夹…,在打开的窗口输入/Users/UserName/Library/Application Support/iPhone Simulator/其中,UserName是指用户在Mac系统中的用户名。点击“前往”,就来到了模拟器目录:上图中的5.0、5.1就是模拟器的版本。这里打开5.1:上图中的目录结构类似于实际的iOS设备中的目录结构。Application 阅读全文
posted @ 2012-07-09 20:22 ValeTu 阅读(244) 评论(0) 推荐(0) 编辑
摘要: - (NSString *)formattedFileSize:(unsigned long long)size{NSString *formattedStr = nil; if (size == 0)formattedStr = @"Empty";elseif (size > 0 && size < 1024)formattedStr = [NSString stringWithFormat:@"%qu bytes", size]; else if (size >= 1024 && size < 阅读全文
posted @ 2012-07-08 20:52 ValeTu 阅读(269) 评论(0) 推荐(0) 编辑
摘要: //判断某个路径是否是文件夹BOOL isDirectory;[[NSFileManagerdefaultManager] fileExistsAtPath:filePath isDirectory:&isDirectory];//取得路径里包含的文件NSArray *documentsDirectoryContents = [[NSFileManagerdefaultManager] contentsOfDirectoryAtPath:documentsDirectoryPath error:NULL];//得到某个路径文件的参数 NSString *fileURLString = 阅读全文
posted @ 2012-07-08 20:50 ValeTu 阅读(237) 评论(0) 推荐(0) 编辑
摘要: //得到Documents路径的方法- (NSString *)applicationDocumentsDirectory{return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];} 阅读全文
posted @ 2012-07-08 20:45 ValeTu 阅读(269) 评论(0) 推荐(0) 编辑
摘要: #import <AudioToolbox/AudioToolbox.h> 1 -(void) becomeFirstResponse{ 2 [[AVAudioSession sharedInstance] setDelegate: self]; 3 [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil]; 4 UInt32 doSetProperty = 0; 5 AudioSessionSetProperty ( 6 ... 阅读全文
posted @ 2012-07-06 19:30 ValeTu 阅读(302) 评论(0) 推荐(0) 编辑