上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页
摘要: 老子说,道生一,一生二,二生三,三生万物。钱、权、势即其三。世界之大,无外此三相,相生相克,循环往复而已。 阅读全文
posted @ 2013-06-26 17:48 ygm900 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 作为男人,要么有拿得出手的背景,要么有拿的出手的成就。否则,朋友们该如何向外人介绍你呢? 阅读全文
posted @ 2013-06-26 17:40 ygm900 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 例子#if defined (DEBUG) && DEBUG == 1 // 如果当前处于debug 模式//to do#else //to do#endif 阅读全文
posted @ 2013-06-26 12:29 ygm900 阅读(486) 评论(0) 推荐(1) 编辑
摘要: 1、release时,屏蔽log #if defined (DEBUG) && DEBUG == 1 #else #define NSLog(...) {}; #endif 2、在主线程或在后台执行block#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block) #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block) 3、设备相关 #defin.. 阅读全文
posted @ 2013-06-26 12:23 ygm900 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 简单介绍以下几个宏:1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。2) __FILE__ 宏在预编译时会替换成当前的源文件名3) __LINE__宏在预编译时会替换成当前的行号4) __FUNCTION__宏在预编译时会替换成当前的函数名称1. 在***-Prefix.pch里面添加, 重新定义系统的NSLog,__OPTIMIZE__ 是release 默认会加的宏#ifn 阅读全文
posted @ 2013-06-26 12:17 ygm900 阅读(5341) 评论(0) 推荐(1) 编辑
摘要: SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?添加、删除、修改使用db.Execute(Sql)命令执行操作╔----------------╗☆ 数据记录筛选 ☆╚----------------╝注意:单双引号的用法可能有误(没有测式)Sql = "Select Distinct 字段名 From 数据表"Distinct函数,查询数据库存表内不重复的记录Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1< 阅读全文
posted @ 2013-06-26 11:26 ygm900 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 使用 UITabBar 时,我们长长会遇到这样的问题。问题:一个使用(或继承)了UITabBar的Aview,为其添加一个子画面Bview时,虽然Bview的尺寸已经占满了整个手机屏幕,但是,Bview的底部,仍然能够响应UITabBar的事件。解决:将 [Aview addSubView:Bview]; 改为[Aview.superview addSubView:Bview]; 或者Aview.superview.superview ,总之一定不要Bview 继承UITabBar即可。 阅读全文
posted @ 2013-06-26 11:06 ygm900 阅读(638) 评论(0) 推荐(0) 编辑
摘要: copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的retain值+1也就是说,retain是指针拷贝,copy是内容拷贝。当然在ios中并不是所有的对象都支持copy,mutableCopy,遵守NSCopying 协议的类可以发送copy消息,遵守NSMutableCopying 协议的类才可以发送mutableC.. 阅读全文
posted @ 2013-06-26 03:41 ygm900 阅读(239) 评论(0) 推荐(1) 编辑
摘要: 一个程序员的路:代码模块 - 代码字典 - 静态类库都是功夫活,不可急躁。就对一个“勤”字即可。 阅读全文
posted @ 2013-06-25 23:34 ygm900 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 文章转载地址:http://www.headsky.org/?p=63iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信. 介绍可参阅Message UIFramework Reference一些笔记:MFMessageComposeViewController提供了操作界面使用前必须检查canSendText方法,若返回NO则不应将这个controller展现出来,而应该提示用户不支持发送短信功能.界面不能自行定制要发送的 阅读全文
posted @ 2013-06-25 22:38 ygm900 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-06-25 18:24 ygm900 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 对象之间如何比较是否相等? 阅读全文
posted @ 2013-06-25 17:59 ygm900 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 相比xib 使用代码编排view 的一个明显的好处就是可以更好地重复使用已有代码,减少代码冗余。 阅读全文
posted @ 2013-06-25 16:50 ygm900 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 有没有遇到过,导航+UITableView,在push,back回来之后,当前cell仍然是选中的状态。当然,解决办法简单,添加一句[tableView deselectRowAtIndexPath:indexPath animated:YES]即可。令人纠结的时,在没加这句的时候,有的视图同样回来之后,选中状态消失,为什么会出现这种情况呢?原来是,如果UITableView是在UITableViewController中时,就会默然取消,而如果是在UIViewController时,需要添加这一句,不过有时即使前者也需要添加,那是因为在视图加载时有其它功能代码,具体情况各异。所以后者必须加, 阅读全文
posted @ 2013-06-25 15:13 ygm900 阅读(3629) 评论(1) 推荐(3) 编辑
摘要: if ([self.selectWys containsObject:[self.initCitys objectAtIndex:indexPath.row]]) { tvCell.accessoryType = UITableViewCellAccessoryCheckmark; }else { tvCell.accessoryType = UITableViewCellAccessoryNone; } 阅读全文
posted @ 2013-06-25 15:07 ygm900 阅读(7006) 评论(0) 推荐(0) 编辑
摘要: 如下所示: Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); if (messageClass != nil) { if ([messageClass canSendText]) { [self displaySMSComposerSheet]; } ⋯⋯} 阅读全文
posted @ 2013-06-25 14:38 ygm900 阅读(1486) 评论(0) 推荐(0) 编辑
摘要: [activityIndicatorView setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.4]];用上面的语法,可以模拟出ios中流行的黑色背景底。如下图所示: 阅读全文
posted @ 2013-06-25 00:05 ygm900 阅读(236) 评论(0) 推荐(0) 编辑
摘要: // 圆角 userhead.layer.masksToBounds = YES; userhead.layer.cornerRadius = 6.0; userhead.layer.borderWidth = 1.0; userhead.layer.borderColor = [[UIColor whiteColor] CGColor]; userhead可以是一个UIImageView,也可以是UIView对了,记得#import 没有这个库的麻烦在framework里面导入最后效果图:转http://utun.blog.163.com/blog/static/984970882... 阅读全文
posted @ 2013-06-24 23:52 ygm900 阅读(27763) 评论(0) 推荐(0) 编辑
摘要: UIAlertView 不显示、屏幕变灰SvenFang1 票 181在[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(response:) name:url object:nil];的回调方法response里面弹出UIAlertView,当执行到该代码时,屏幕变灰,但是UIAlertView没有出现,背景按钮均不可点击,输出得到UIAlertView对象的centre x和y均为0 ,alpha为1,等高人指点,下面是response方法的代码和屏幕截图- (void)response:(N 阅读全文
posted @ 2013-06-24 23:37 ygm900 阅读(1251) 评论(0) 推荐(0) 编辑
摘要: 活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中。进度指示器(UIProgressView )也具有同样功能,而且还可以告知用户离操作结束还多远。这两个指示器都是派生自UIView,所以他们是视图,也可以附着在视图上。一、UIActivityIndicatorView 活动指示器1.创建[java] view plaincopyprint?UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView alloc ] initWithFrame:CGRec... 阅读全文
posted @ 2013-06-24 23:28 ygm900 阅读(1161) 评论(0) 推荐(0) 编辑
摘要: .h代码#import @interface ViewController : UIViewController{ int i_offset; //偏移量 int i_textFieldY; //textField 的y 值 int i_textFieldHeight; //textField的高度 IBOutlet UITextField *uitf_textField1; IBOutlet UITextField *uitf_textField2; IBOutlet UITextField *uitf_textFie... 阅读全文
posted @ 2013-06-24 13:11 ygm900 阅读(956) 评论(0) 推荐(0) 编辑
摘要: - (void)viewDidLoad{ [super viewDidLoad]; //增加监听,当键盘出现或改变时收出消息 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification ... 阅读全文
posted @ 2013-06-24 11:14 ygm900 阅读(3360) 评论(0) 推荐(0) 编辑
摘要: 今天碰到两个页面之间翻转的动作设计问题,发现了一些问题,故做个总结,很多都写在注释部分:1、首先,我们来手动创建两个view以及相应的viewController。是手动,不是用IB(1)刚开始只加载一个view(第二个),若两个同时加载,第二个页面可能不能完全被遮挡。第二个页面可以通过翻转来显示。 [window addSubview:secodViewController.view];2、要求:每个view页面都有一个按钮,按下之后切换到另一个页面,要求有炫一点的切换效果,故要对Animation属性进行一些设置(1)helloWorldViewController.m:mySecondV 阅读全文
posted @ 2013-06-24 02:42 ygm900 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 第一步:开启子线程 //开启子线程到网络上获取数据 myFirstThread = [[NSThread alloc]initWithTarget:self selector:@selector(thread1GetData) object:nil]; [myFirstThread setName:@"第一个子线程,用于获取网络数据"]; [myFirstThread start]; 第二步:子线程的方法//获取数据-(void)thread1GetData{ while (!myFirstThread.isCancelled) { // 关键 ... 阅读全文
posted @ 2013-06-23 22:46 ygm900 阅读(8018) 评论(0) 推荐(0) 编辑
摘要: 一个典型的结束子线程的方法: 用isFinished 检测子线程是否被完全kill掉-(IBAction)btnBack:(id)sender{ //释放内存 仅仅remove 并不会触发内存的释放 if (!(mySecondThread==nil) && !myFirstThread.isCancelled) { [myFirstThread cancel]; //等子线程结束再跳出循环 int i=0; while (!myFirstThread.isFinished){ ... 阅读全文
posted @ 2013-06-23 22:07 ygm900 阅读(3155) 评论(0) 推荐(0) 编辑
摘要: ios的一些知识点一 非ARC的内存管理情况1-autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁。2-成员属性:readonly:不指定readonly,默认合成getter和setter方法。外界毫不关心的成员,则不要设置任何属性,这样封装能增加代码的独立性和安全性。相当于私有成员?assign:表示只进行简单的赋值,不会发送retain消息。retain:会向旧值发送rel 阅读全文
posted @ 2013-06-23 22:00 ygm900 阅读(451) 评论(0) 推荐(0) 编辑
摘要: ios中全局变量默认是灰绿色的,只有少些全局变量,才能提高代码的聚合程度。才能更容易管理代码。 阅读全文
posted @ 2013-06-23 19:39 ygm900 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 例如,本页数据没有加载完成,而客户就按下了另外一个按钮,那么本页的数据需要继续加载,但是,加载完成后又不能放到view的最前段。所以,就有了下面的代码: if (self.zhiNengGuiHuaViewController != nil) { // 这个判断获取可以不用,而直接写下面的代码 [self.view addSubview:commonTableView]; [self.view sendSubviewToBack:commonTableView]; //让一个子画面刷新后,放到另一个子画面的后面,而不是前面 }else { [self.vie... 阅读全文
posted @ 2013-06-23 19:33 ygm900 阅读(398) 评论(0) 推荐(0) 编辑
摘要: [selfremoveAllSubviews]; //删除所有子视图(包括 selfl.view) 所以,要慎用 阅读全文
posted @ 2013-06-23 19:08 ygm900 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 转:http://www.cocoachina.com/bbs/read.php?tid=87592多线程编程指南原文:Threading Programming Guide链接:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html#//apple_ref/doc/uid/10000057i-CH1-SW1PDF文档下载:多线程编程指南.pdf(1427 K) 下载次数:10893PS:【翻译缘由---翻译本身也是强 阅读全文
posted @ 2013-06-23 16:23 ygm900 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 在上一文中,我们已经讨论过用Objective-C锁几种实现(跳转地址),也用代码实际的演示了如何通过构建一个互斥锁来实现多线程的资源共享及线程安全,今天我们继续讨论锁的一些高级用法。1.NSRecursiveLock递归锁平时我们在代码中使用锁的时候,最容易犯的一个错误就是造成死锁,而容易造成死锁的一种情形就是在递归或循环中,如下代码://主线程中NSLock *theLock = [[NSLock alloc] init];TestObj *obj = [[TestObj alloc] init]; //线程1dispatch_async(dispatch_get_global_queue 阅读全文
posted @ 2013-06-23 16:04 ygm900 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 为什么需要使用锁,当然熟悉多线程的你,自然不会对它觉得陌生。那你在代码中是否很好的使用了锁的机制呢?你又知道几种实现锁的方法呢?今天一起来探讨一下Objective-C中几种不同方式实现的锁,在这之前我们先构建一个测试用的类,假想它是我们的一个共享资源,method1与method2是互斥的,代码如下:@implementation TestObj - (void)method1{ NSLog(@"%@",NSStringFromSelector(_cmd));} - (void)method2{ NSLog(@"%@",NSStringFromSele 阅读全文
posted @ 2013-06-23 16:02 ygm900 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 童鞋们都知道Xcode会根据当前SDK在Run按钮旁边的选项栏中显示适合的Simulator供开发者选择,如下图:但是有时候则错误显示“My mac 64-bit” ,这个明显不是我们想要的,如下图:上面这种情况主要出现原因在于你打开了另外一个mac电脑copy过来的项目时或者其他原因造成出现,那么解决的方法这里Himi给出来:解决步骤:首先关闭你的Xcode,找到你出现解决此问题的项目目录下,然后此项目的***.xcodeproj 文件,然后右键选择“显示包内容”,如下图:一般情况下,包中有如下3个文件:1.project.pbxproj 2.project.xcworkspace 3.xc 阅读全文
posted @ 2013-06-23 15:46 ygm900 阅读(489) 评论(0) 推荐(0) 编辑
摘要: Error Starting executable: error launching remote program failed to get the task for process 715这个问题的解决方案如下(本人使用的是Xcode4.3):1.Select File->New File->ios->resources->property List name the file "Entitlements.plist‘ -->Creat2.点击这个Entitlements.plist,在右侧的空白处右键选择Add Row 自己新建一个"Ca 阅读全文
posted @ 2013-06-21 11:38 ygm900 阅读(579) 评论(0) 推荐(0) 编辑
摘要: iPhone真机调试报如下错误时,关掉Xcode,重新启动就可以了,注意是关掉Xcode,彻底关掉。Error launching remote program: No such file or directory一般是因为修改了 Bundle identifier 造成的。 阅读全文
posted @ 2013-06-21 11:38 ygm900 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 一般的问题是这样的“bool _WebTryThreadLock(bool), 0xxxxxx: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now...”原因: update ui in background thread.解决办法: update ui in main thread. 阅读全文
posted @ 2013-06-20 22:11 ygm900 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 调度技巧一:程序在崩溃的时候,xcode经常没有给出准确的堆栈信息,而是定位在了main方法里,这个让人很是头疼,又怀念起了vs, 其实xcode只要装简单设置一下,就能准确给出堆栈信息了, 打开xcode左边的Breakpoint Navigator ,点击下面的+号添加一个Exception Breakpoint,可以选择 All, 然后再运行试试,Crash后,就会在在抛出异常的时候停下来了,吼吼。调度技巧二:另一种Crash,EXC_BAD_ACCESS ,这个比较头疼,因为Crash的时候,可能是比较早之前的某个变量释放了,现在访问时出问题。Console里也没显示什么日志。开Sch 阅读全文
posted @ 2013-06-20 15:07 ygm900 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-06-19 13:53 ygm900 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 在 Mac 2011 Outlook 中发送电子邮件时,您可能会收到下面的错误消息:无法发送邮件。SMTP 服务器无法识别任何 Outlook 所支持的身份验证方法。请尝试更改帐户设置中的 SMTP 身份验证选项,或与网络管理员联系。错误 17092解决方案要解决此问题,请调整您的帐户设置按照下列步骤操作:启动 Outlook。单击工具,然后选择帐户.选择您的帐户。单击以选中重写默认端口在发送服务器下的框.在端口框中,键入 587。单击更多选项按钮。在身份验证下拉框中,单击以选中使用传入的服务器信息.单击确定。关闭帐户窗口。创建一个新的电子邮件,然后尝试将其发送给自己或其他人。请注意,smtp 阅读全文
posted @ 2013-06-19 13:45 ygm900 阅读(5389) 评论(0) 推荐(0) 编辑
摘要: /* 先向数据库插入此人的热度 */ NSString *strSql=[[NSString alloc]initWithFormat:@"%@%@%@", @"select * from cloud_contacts where uid='",compUser.uId,@"'"]; NSLog(@"查询此人热度的sql是:%@",strSql); self.mysqlite = [[sqliteHelper alloc]init]; if([self.mysqlite openDatabase:@ 阅读全文
posted @ 2013-06-19 03:28 ygm900 阅读(362) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页