匆匆

来源:互联网 发布:家用电脑远程监控软件 编辑:程序博客网 时间:2024/04/30 01:43
    这几天上海一直下着小雨,我感觉还不错,因为我本身是有爱雨情结的。我喜欢在蒙蒙细雨细雨中漫步。细雨中我能够安静自己不安的心灵,于无声中荡涤自己的灵魂。早上趴在桌子上小憩时,我还在想回来了要好好补一觉。只是在雨中走了一程,听着细雨,吹着春风,看到一树不知名的白色的花,然后我就想写些什么了。
    时间总是太匆匆,它一直在滴滴答答向前冲,很多时候我们忙工作,忙理想,忙其它事,然后就顾不得细想。只是在安静的时候猛回首,却吃惊地发现时间已经过去那么多,然后不禁一阵心疼。对我而言,有时我内心真的会发慌。我想要的成绩我会为自己列出来,它们一直在我心里,我时刻不敢忘。只是时间真的好快,我一直有些害怕此生不能实现自己的梦。如果到我老了的时候还一直碌碌无为,默默无声,我会认为自己枉活了一生。我不喜欢玩游戏,不喜欢很多别人为之着迷的娱乐方式,我感觉自己有些怪异。同龄人喜欢追星看偶像,可是我却只爱看历史 ,最近几天还在看胡军版《朱元璋》。历史看多了,内心不免产出一些悲凉。我总觉得目光放远万事皆悲,因为过些时候我也会成为历史的。中国传统文化在我这里根深蒂固,所以我很能理解古代那些仕子们的追名逐利,因为我也是这样一个人,我一直渴望自己此生可以有所作为,大有作为。
    曾经自己年少无知,犯了很严重的错,尤其是有些犯贱的错,因此我白白浪费了好几年时间,现在再回头看,仍然会有触目惊心,心有余悸。好在现在终于不再为一些人一些事而羁绊,我的时间很珍贵,我不会再把时间浪费在一些不值得我浪费的人和事上。经过一些事情,我内心坚强了很多。有时我会想,I have suffered and despaired and known death and I am glad that I am in this great world.
    连着紧张近一月,这里总结几点开发小细节,当然对大牛们不值得一提,但或许对初学者会有所帮助,我之前就非常想得到他人的学习经验。

1、写方法的时候,方法不宜太长,能抽出来的模块最好单独写一个方法,这样方法即显得好看、易于重用,又便于日后维护。同一个类,如UIViewController中,参数赋值与取值尽量放在一起(取textField中值给self.property),这样会一目了然,也不容易少写漏写参数赋值。传递参数不要太凌乱,不要这里给这个参数赋一次值,那里又给另一个参数赋值,不然调试的时候你会为单独找参数而调试半天,还极有可能少写漏写,再者时间长了一些参数名自己都会糊涂,更何况未来你的代码很有可能是别人在维护。据说这是新手老手的重要区别,曾经的老大当面训斥我:“哪有老手一下写这么长的方法!谁教你的啊?!”然后说了差不多上面这些话。

2、UIAlertView
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" 

                                                  message:@"这是一个简单的警告框!" 

                                                  delegate:nil   

                                                  cancelButtonTitle:@"确定" 

                                                  otherButtonTitles:nil];  

[alert show];  

[alert release]; 

这里这个delegate要慎重了,如果设置为nil,则点击弹出框确定按钮,弹出框会消失,程序不执行任何方法。如果设置delegate为self,则在此类中要实现alertView的delegate方法  
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex}
如果这个代理方法不实现,这时再点击弹出框确定按钮,程序就会挂掉。还有就是如果弹出框弹在了非当前页面,如在弹出框弹出之前返回上一面,然后弹出框才出现,这里点击确定按钮同样crash,因为self类已然不存在,程序找不到Delegate方法,自然是要崩的。

3、关于单例,这个概念一直很朦胧,现在好像清楚一些了。
 static User *User  = nil;
+(User *) sharedInstance{
 
  @synchronized(self)
  {    
     if (User == nil)
     {         
        User  = [User  alloc] init];      
     }  
  }
  return User ;

这里这个User类就是一个单例。它在整个工程中只会有一个实例。项目中第一次用到会初始化该类,一旦该类在内存中存在,别处再次调用它就不会再重新alloc和init User了。直接[User sharedInstance]执行set get方法,就可以对这个类做赋值取值操作。这个User就成了一个全局类,在工程中任何地方均可使用。如判断当前用户是否已经登录可以这样写,[[User sharedInstance]isLoginIn],当然这里isLoginIn是类User的一个property。


4、isEqualToString

if ([string isEqualToString:@"hello everyone"]) {

    NSLog(@"字符串string等于hello everyone");}

这里最好不要这样写,因为很有可能程序会因此Crash。此处一般情况下不会有问题,但如果

string来自于一些方法生成,它可能为nil,这时就有很大问题了。isEqualToString是NSString的方法,nil找不到此方法,程序就会崩掉。这里最好这样写

if ([@"hello everyone"isEqualToString:string ]) {}

这样就没问题啦,因为@"hello everyone"永远不为空。


    好了,今天就写到这里,以后我会经常写下自己的学习的心得,也算做些学习笔记,再此提高自己,共享读者,希望我的总结对后来者有所帮助。

    马上要三月了,我觉得一年之中最美的时候就要到来,身为人称屌丝的程序员们不要总是Coding...Coding...Coding...外面的世界很精彩,阳光下很舒服。工作之外,多出去走走。我现在有在准备一件自我觉着很浪漫事--待到春花烂漫时,踏上单车,穿越上海......




0 0
原创粉丝点击