• iOS 编程陷井. 不及格的程序员


    作者:不及格的程序员-八神

      •  要注意不支持的特性

        比如你的手持设备不支持发送短信或邮件的话,创建该类型的类时将返回nil...,这与我们平常习惯性的理解不同,如果是我设计我会让它抛出异常可能会更好,至少不需要查api文档就知道怎么回事。

      •  设备的方向

        当你在window上连续添加两个景色模式的视图控制器的时候,第二个视图的方向会保持人像模式,并且它的shouldAutorrotateToInterfaceOrientation方法不会被触发...

      •  根视图中的输出口

       这个算不算,可以根据开发人员的个人理解而定,按传统编程想法,当从nib文件实例化一个视图控制器时,我觉得视图中的所有输出口控件都会自动初始化,但是苹果的模式不是,它需要激发根视图view属性,确认将下面的所有子视图连接到输出口上.

      •  在烦忙的工作开始之前,先播放动画

       这又是一个苹果模式,如果你想在下载文件的时候同时播放等待动画,如果你先去执行(注意是直接执行而不是延时执行)下载代码,那么前面的动画将在烦忙的代码执行完毕后播放,显然不是我们要的.

    [activityIndicator startAnimating];
    [self performSelector:@selector(someMethod) withObject:nil afterDelay:0.0];
    


    这是苹果关于屏幕旋转问题的答QA,里面也说了window仅支持第一个视图的旋转....


    自定义表格中的uiimageview与button图片的延迟显示问题,button没有问题。

    但uiimageview显示会出现问题,如果你在本地文件,显示成功率会大,如果是网上的图片,就不会显示了。

    2013-06-25日找到原因:自定义属性self.imageView 与系统属性同名了,改个名子 就都正常了。。。。。

    [self setNeedsLayout] 导致了最后面的图片视图,在异步加载完成时,跑来了最前面,就是说它的z-index改变了,结果会把其它的标签视图挡住。。。
    #import "InfoListTableCell.h"
    #import "InfoListEntity.h"
    
    
    @implementation InfoListTableCell
    
    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            // Initialization code
        }
        return self;
    }
    
    /*
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    - (void)drawRect:(CGRect)rect
    {
        // Drawing code
    }
    */
    
    -(void)updateCellContent:(id)obj
    {    
        InfoListEntity *entity = (InfoListEntity*)obj;
        self.ownEntity = entity;
        self.labTitle.text = entity.title;
        [entity.imageURL getCacheDataDir:@"cacheDir" completionHandler:^(NSData *data, NSError *error)
        {
            //dispatch_async(dispatch_get_main_queue(), ^
            //{
                self.imageView.image = [UIImage imageWithData:data];
                [self setNeedsLayout]; 如果是网上下载,这句非常重要,有本地缓存就不需要,为什么?
            //});
        }];
    

    南来地,北往的,上班的,下岗的,走过路过不要错过!

    ======================个性签名=====================

    之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?

    下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!

    如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.

    我的开发工具

    对于博客园里的网友,不敢称为叫"程序员"的人,你们攻击性太强,看来你们是不会想到我的用意的.园子里有不少人都非常喜欢Jeffrey,是因为它的第一版 框架设计 CLR via C#.
    可是从第一版到现在的第三版,没有看到真正底层的东西,内容仅仅是比MSDN文档更丰富一些,可能是我的要求太高了吧.
    也就是因为它很多时候会接触到微软开发人员,会经常聊聊某些问题而已,而它又将这些问题反应到书中.也许它就像一个小记者.
    它的年龄大我们不多,我的孩子与它小儿子一般大,如果我能向它那样出入微软与它们开发人员长时间交流,不仅仅会牛成它这样.....
    可是微软的开发人员不会扔太多时间在它这儿的.所以它会整天追着这个,赶它那个..屁颠个不停吧...
    而它的另一版被称为好书的 Windows核心编程,更是没有什么深度可言,仅仅是将windows提供的api,以及内核功能再重申了一遍.
    这些书对晋及编程知识是有些贡献的,再说一遍我不是在匾低谁,说说想法而已.

  • 相关阅读:
    完全背包和多重背包的混合 F
    多重背包转化成完全背包 E
    I
    D. Beautiful Array DP
    B. Long Path dp
    C. Barcode dp
    dp D. Caesar's Legions
    docker-mysql
    日志级别facility
    实时同步lsyncd
  • 原文地址:https://www.cnblogs.com/ioriwellings/p/2056376.html
Copyright © 2020-2023  润新知