美文网首页
Stanford iOS7 Lesson Three

Stanford iOS7 Lesson Three

作者: Hello_kid | 来源:发表于2016-07-10 01:02 被阅读20次

首先,关于NSInteger和int的使用方式,这些使用完全是风格的个人风格的事。

数组的使用注意事项[objectAtIndex:firstObject]这样取出的对象,即使数组是空的,返回也是nil;如果是[objectAtIndex:0]或者arr[0]使用下标也称为语法糖🍬,如果数组是空的,会使程序崩溃。


指定初始化(Designated initializer) 像demo中那样

/* Designated initializer */
- (instancetype)initWithCardCount:(NSUInteger)cardCount
                        usingDeck:(Deck *)deck;

使用者再调用系统的init方法将不生成实例,所以只能使用我们声明好的指定初始化方法来创建实例。

- (instancetype)init
{
    return nil;
}

在.h方法文件中,如果有一个只读的属性readonly,外界不能修改,只能读取

@property (nonatomic,readonly) NSInteger score;

在.m中私有修改,重新修改修饰符为readwrite 这个也是默认的修饰符

@interface CardMatchingGame ()
@property (nonatomic,readwrite) NSInteger score;
@end

这样操作后,就可以在.m中私有的修改和赋值了


通过xib或者storyboard和外界建立IBOutletCollection时,属性修饰符是strong,因为在视图里有一个strong pointer指向着控件本身,但是数组本身没有被任何对象持有

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *cardButtons;

相关文章

网友评论

      本文标题:Stanford iOS7 Lesson Three

      本文链接:https://www.haomeiwen.com/subject/aktdjttx.html