zoukankan      html  css  js  c++  java
  • iOS 7 Pushing the Limits

    Cocoa is a dynamically typed language, and you can easily get confused about what type you are working with.
    Collections (arrays, dictionaries, and so on) don’t have types associated with them, so it’s very easy to code
    something accidentally like this:


    NSArray *dates = @[@”1/1/2000”];
    NSDate *firstDate = [dates firstObject];

    This code compiles without a warning, but will crash with an unknown
    selector exception.

    Let's look at following code lines:

    - (void)setURL:(NSString *)URL;              // Bad

    - (void)setURLString:(NSString *)string;  // Good
    - (void)setURL:(NSURL *)URL;                // Good

    category methods

    Because of the possibility of collisions, you should add a prefix to your category methods

    Cocoa generally doesn’t use embedded underscores

    A good use of categories is to provide utility methods to existing classes. When you do this, I recommend
    naming the header and implementation files using the name of the original class plus the name of the
    extension.

    For example, you might create a simple PTLExtensions category on NSDate:

    NSDate+PTLExtensions.h

    @interface NSDate (PTLExtensions)
    - (NSTimeInterval)ptl_timeIntervalUntilNow;
    @end

    NSDate+PTLExtensions.m

    @implementation NSDate (PTLExtensions)
    - (NSTimeInterval)ptl_timeIntervalUntilNow {
      return -[self timeIntervalSinceNow];
    }
    @end
  • 相关阅读:
    java笔记1
    mysql 5.5 zip配置安装
    centos 6.5 双网卡 上网 virtualbox nat hostonly
    MongoDB Chapter1:Introduction
    windows下在virtualbox中的Fuel Openstack 9.0 安装过程
    centos 7 install gnome etc
    mongodb4简明笔记
    mongodb windows 4 zip安装
    VB 提示音编歌曲
    VB 快捷键
  • 原文地址:https://www.cnblogs.com/davidgu/p/3912842.html
Copyright © 2011-2022 走看看