上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 21 下一页
摘要: //开启iphone网络开关[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURLURLWithString:host]];//超时时间 request.timeOutSeconds = 30; //定义异步方法 [request setDelegate:self];[request setDidFailSelector:@selector(reques 阅读全文
posted @ 2013-05-31 16:24 ygm900 阅读(3017) 评论(0) 推荐(0) 编辑
摘要: -(void) play_shake_sound_male{ NSString *path = [[NSBundle mainBundle] pathForResource:@"shake_sound_male" ofType:@"wav"]; if (path) { //注册声音到系统 在GDB模式下此句代码,即使不舍断点,也总是停下,继续后正常运行;在LLDB 模式下没有这个问题 AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&shake_so. 阅读全文
posted @ 2013-05-31 15:39 ygm900 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.csdn.net/studyrecord/article/details/7440004 阅读全文
posted @ 2013-05-31 14:45 ygm900 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}#pragma mark - Start 数据入口-(void)inputData{ //对程序级的全局变量用局部变量获取出来,然后转存给当前viewCo... 阅读全文
posted @ 2013-05-30 11:12 ygm900 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 撰写一个属于自己的ios开发包,静态库 阅读全文
posted @ 2013-05-30 09:48 ygm900 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 最令人讨厌的代码是,数据处理和界面处理的代码混淆在一起。 阅读全文
posted @ 2013-05-29 12:06 ygm900 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 全局变量 可以带下划线和前缀 ,因为,此变量是全局的,如果不带前缀,你很难判断这个变量的类型是什么。如NSMutableArray *nsma_views 一个用于存储view 的可变数组。局部变量不必带下划线和前缀,因为局部变量只在特定的方法中执行。没有必要再加前缀了。如:NSArray *arry; 即可。 阅读全文
posted @ 2013-05-29 12:04 ygm900 阅读(144) 评论(0) 推荐(0) 编辑
摘要: ios 特效 新思路 :加载gif 动画,然后在动画上增加点击事件即可。 阅读全文
posted @ 2013-05-28 18:49 ygm900 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 你的问题是:self.view.frame.size.height = 100f;这样写没法通过编译,编译器会报错"expression is not assignable"原因是,这句话里面的几个点有两种不同的含义。self.view.frame是Objective-C语法,是读取view属性的frame属性,在Objective-C中使用点来访问属性只是一种语法糖,所以self.view.frame这句话会被转换成:[[self view] frame]也就是说,实际上这是消息传递。而frame属性是一个CGRect结构,所以frame.size.height是C语言的 阅读全文
posted @ 2013-05-28 18:33 ygm900 阅读(12019) 评论(3) 推荐(1) 编辑
摘要: UIButton *btnTemp = [UIButtonbuttonWithType:UIButtonTypeCustom];深度定制一个按钮UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; btn1.frame =... 阅读全文
posted @ 2013-05-28 18:21 ygm900 阅读(26336) 评论(0) 推荐(2) 编辑
摘要: 准备工作:找到需要的声音(不要大于30秒),如果是mp3格式,则直接将其后缀名改为.wav;将声音文件添加到系统中。第一步:导入 AudioToolbox.framework 文件第二步:在需要声音的类的.h文件中添加 #import 同时,声明如下语句static SystemSoundID shake_sound_male_id = 0;第三步:编码,如下:-(void) playSound{ NSString *path = [[NSBundle mainBundle] pathForResource:@"shake_sound_male" ofType:@" 阅读全文
posted @ 2013-05-28 17:26 ygm900 阅读(20116) 评论(2) 推荐(2) 编辑
摘要: 下载一个android 版本的apk 文件,然后用RAR打开,之后解压。(不要直接点击apk文件右键解压,你会发现,没有解压选项)按照音频文件的后缀名(一般.mp3 等)进行搜索即可。例如,我们想找微信摇一摇的音频文件,那么在下载下来的文件中,找到:assets\sound\shake_sound_male 即可。 阅读全文
posted @ 2013-05-28 16:38 ygm900 阅读(3570) 评论(0) 推荐(0) 编辑
摘要: 下一步目标:整理出1套相对成熟的ios 开发框架 阅读全文
posted @ 2013-05-28 13:14 ygm900 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 只要不涉及到网络数据下载,ios 应用程序的运行速度还是蛮快的。当你的程序还是运行缓慢时,一定要要留意,是否有访问网络。 阅读全文
posted @ 2013-05-28 12:04 ygm900 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 清除 一个view 的所有 子view 阅读全文
posted @ 2013-05-28 11:09 ygm900 阅读(252) 评论(2) 推荐(0) 编辑
摘要: 判断用户是否开启定位功能 / 判断用户是否为应用程序开启定位功能 阅读全文
posted @ 2013-05-28 10:55 ygm900 阅读(297) 评论(0) 推荐(1) 编辑
摘要: 判断 网络是否通常,以及判断用户使用的网络类型,时2G\3G\还是wifi 阅读全文
posted @ 2013-05-28 10:53 ygm900 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 如何在某个程序里面判定当前应用程序的定位服务是否可用,其实没有什么简单的方法。这个[CLLocationManager locationServicesEnabled]检测的是整个iOS系统的位置服务开关,无法检测当前应用是否被关闭,只能通过CLLocationManagerDelegate的locationManager:didFailWithError:方法去检测:- (void)locationManager: (CLLocationManager *)managerdidFailWithError: (NSError *)error { NSString *errorSt... 阅读全文
posted @ 2013-05-28 10:31 ygm900 阅读(11634) 评论(1) 推荐(1) 编辑
摘要: 在.h文件中先声明一个UIWebView 的对象 phoneCallWebView,然后在.m文件中添加如下代码;-(IBAction)btnCall:(id)sender{ NSString *phoneNum = @"12301";// 电话号码 NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",phoneNum]]; if ( !phoneCallWebView ) { phoneCallWebVie... 阅读全文
posted @ 2013-05-28 09:52 ygm900 阅读(1327) 评论(0) 推荐(0) 编辑
摘要: ticketsThreadone = [[NSThread alloc] initWithTarget:self selector:@selector(run1) object:nil];[ticketsThreadone setName:@"Thread-1"];[ticketsThreadone start];ticketsThreadtwo = [[NSThread alloc] initWithTarget:self selector:@selector(run2) object:nil];[ticketsThreadtwo setName:@"Threa 阅读全文
posted @ 2013-05-27 22:46 ygm900 阅读(1306) 评论(0) 推荐(0) 编辑
摘要: ios 判断对象是否存在if (NULL==commonTableView) { //ios 判断对象是否存在 //初始化tableview commonTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 44+37, 320,Screen_height-44-37)]; commonTableView.delegate = self; commonTableView.dataSource = self; [self.view addSubview:... 阅读全文
posted @ 2013-05-27 20:25 ygm900 阅读(6477) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.cnblogs.com/linyawen/archive/2012/07/24/2606709.html 阅读全文
posted @ 2013-05-27 18:44 ygm900 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.csdn.net/totogo2010/article/details/8010231 阅读全文
posted @ 2013-05-27 18:43 ygm900 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.csdn.net/xiaoxuan415315/article/details/7738333 阅读全文
posted @ 2013-05-27 18:40 ygm900 阅读(157) 评论(0) 推荐(0) 编辑
摘要: GCD全称为Grand Central Dispatch 在IOS4才开始,用来实现多线程。它是IOS多线程抽象层次最高的一层,下面还有更加轻量级的Cocoa operations,和Thread。 当看到GCD的使用我仿佛看到了Android中的Handler和AsynTask。[cpp] view plaincopy 在主线程中任意方法中加入: dispatch_async(dispatch_get_gloabal_queue(0, 0), ^{ //加入耗时操作 //...... dispatch_async... 阅读全文
posted @ 2013-05-27 18:38 ygm900 阅读(653) 评论(0) 推荐(0) 编辑
摘要: iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式:1, Thread;2, Cocoa operations;3, Grand Central Dispatch (GCD) (iOS4 才开始支持)下面简要说明这三种不同范式:Thread 是这三种范式里面相对轻量级的,但也是使用起来最负责的,你需要自己管理thread的生命周期,线程之间的同步。线程共享同一应用程序的部分内存空间,它们拥有对数据相同的访问权限。你得协调多个线程对同一数据的访问,一般做法是在访问之前加锁,这会导致一定 阅读全文
posted @ 2013-05-27 18:34 ygm900 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 为线程设置一个名字 [mythread setName:@"第一个子线程"]; 阅读全文
posted @ 2013-05-27 15:50 ygm900 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 为了代码的高内聚和可控性,能不写全局变量就尽量不要写全局变量。全局变量的多少,也是检验代码内聚程度的一个直观指标。 阅读全文
posted @ 2013-05-27 15:34 ygm900 阅读(176) 评论(0) 推荐(0) 编辑
摘要: // 初始化锁对象ticketCondition = [[NSCondition alloc] init];//开始第一个线程。ticketsThreadone = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];[ticketsThreadone setName:@"Thread-1"];[ticketsThreadone start];//开始第二个线程。ticketsThreadtwo = [[NSThread alloc] initWithTarget:self se 阅读全文
posted @ 2013-05-27 14:37 ygm900 阅读(194) 评论(0) 推荐(0) 编辑
摘要: [self.viewsendSubviewToBack:imageView];定义imageview 的中心位置imageView.center = CGPointMake(rand()%(int)self.view.frame.size.width, rand()%(int)self.view.frame.size.height); //图片的中心位置 阅读全文
posted @ 2013-05-27 14:11 ygm900 阅读(126) 评论(0) 推荐(0) 编辑
摘要: iPhone Tableview分批显示数据是本文要介绍的内容,主要讲解的是数据的显示。iPhone屏幕尺寸是有限的,如果需要显示的数据很多,可以先数据放到一个table中,先显示10条,table底部有一察看更多选项,点击察看更多查看解析的剩余数据。基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中. 比如:数据源是个array:1. NSMutableArray *items; ViewController的这个方法返回数据条数: +1是为了显示"加载更多"的那个cell1. - (NSInteger)tableViewUITa... 阅读全文
posted @ 2013-05-27 13:34 ygm900 阅读(2686) 评论(0) 推荐(0) 编辑
摘要: malloc: *** mmap(size=1431658496) failed (error code=12)*** error: can't allocate region*** set a breakpoint in malloc_error_break to debug*** Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:], /SourceCache/UIKit_Sim/UIKit-1914.84/UITableViewRowData.m:377主要问 阅读全文
posted @ 2013-05-27 13:33 ygm900 阅读(3499) 评论(0) 推荐(0) 编辑
摘要: http://www.xue5.com/Mobile/iOS/623776.html 阅读全文
posted @ 2013-05-27 11:01 ygm900 阅读(164) 评论(0) 推荐(0) 编辑
摘要: GCD(Grand Central Dispatch)是一个大的主题。它可以提高代码的执行效率与多核的利用率。是苹果的开源项目,如果你是一个追求软件效率的开发人员,这门技术你一定要有所研究。 今天要介绍的是如何从网上下载大量的文件, 方法有许多,传通的就是用多线程,面iOS中有很好用的Operator Queeu, 或者用传通的NStrhead, pthread. 今天我不介绍这些方法,而是得用GCD来完成这个下载任务。 今天这个demo, 展示面几个功能: 1. 预定义了大量的要下载的图片URL2. 创建一个GCD queue并开始下载图片3. 在动画出现消失的时候,同时显示图片 主要代码. 阅读全文
posted @ 2013-05-26 16:04 ygm900 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 1。GCD之dispatch queuehttp://www.cnblogs.com/scorpiozj/archive/2011/07/25/2116459.html2。iOS中GCD的魔力http://blog.csdn.net/favormm/article/details/64532603。官方 ,内容真的很多http://developer.apple.com/library/ios/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.htmlhttp://developer.app 阅读全文
posted @ 2013-05-26 16:02 ygm900 阅读(1029) 评论(0) 推荐(0) 编辑
摘要: IOS中,如果要在主线程中启动一个子线程,可以又两种方法:[cpp][NSThread detachNewThreadSelector:@selector(myThreadMainMethod:) toTarget:self withObject:nil];这是在cocoa早期提供的方法,因此你可以在任何版本的ios和mac上调用此方法。在 OS X v10.5(or later)和IOS中,苹果又提供了一种方法,可以允许你获得你的thread句柄,并且更方便的让主线程控制子线程。[cpp]NSThread* myThread = [[NSThread alloc] initWithTarge 阅读全文
posted @ 2013-05-26 15:43 ygm900 阅读(18981) 评论(0) 推荐(1) 编辑
摘要: NSLog(@"main thread:%@",[NSThread currentThread]); 阅读全文
posted @ 2013-05-26 15:40 ygm900 阅读(1587) 评论(0) 推荐(0) 编辑
摘要: [cpp]view plaincopy-(IBAction)startThreadButtonPressed:(UIButton*)sender{threadStartButton.hidden=YES;threadValueLabel.text=@"0";threadProgressView.progress=0.0;//新的线程[NSThreaddetachNewThreadSelector:@selector(startTheBackgroundJob)toTarget:selfwithObject:nil];}创建新的线程,线程的函数为 startTheBackgr 阅读全文
posted @ 2013-05-26 15:24 ygm900 阅读(1333) 评论(0) 推荐(0) 编辑
摘要: 在使用多线程时,要注意:有些view使用子线程获得数据,但是view上的按钮却在主线程上。所以,当使用子线程时,要适当控制view上按钮的可用性。否则会出现页面错版。 阅读全文
posted @ 2013-05-26 06:04 ygm900 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1、再每个viewDidLoad 方法中都尽量不要写业务逻辑相关的代码。viewDidLoad方法最好只用于展示view。 业务逻辑可以再另外的线程中进行处理,这样用户的操作感觉会相对流畅。2、再使用 UITableView 时,不要在-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中写绘制画面的代码。建议在另外的方法中为每个cellview 绘制一个view ,然后将这些view 存储在 NSMutableArray 中。cellFo 阅读全文
posted @ 2013-05-26 05:30 ygm900 阅读(909) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 21 下一页