今天开始记录我每天的学习过程,补上昨晚的的笔记

1.nonatomic (非线性)  同该属性一同的getter 和setter 不是线性安全的,你不能有两线程,同时尝试设置该属性

2.self  消息的接受者自己,首先的理解什么是消息的接受者自己  [car1 play] car1表示消息的接受者  self.speed 表示是car1.speed, 问题来了,为什么不直接用car1.speed,因在创建Car 类的时候 你是无法知道你Car类创造的实例的名字,所有当Car类方法中要用到本来自己的属性值,就用self 代替自己。

 

3.a+=b   a=a+b

4.a-=b    a=a-b

 

5.a/=b-c   a=a/(a-c)

 

6.for (变量 in  数组)

{

循环主体

};

int main(int argc, char * argv[]) {

    @autoreleasepool {

        NSArray *array=@[@"a",@"t",@"c"];

        for (NSString * string in array) {

            NSLog(@"%@",string);

        }

      

    }

}

测试结果 :

2015-09-21 10:29:27.149 NSArray[2056:122815] a

2015-09-21 10:29:27.152 NSArray[2056:122815] t

2015-09-21 10:29:27.152 NSArray[2056:122815] c

 当执行for 循环时,它会先将数组的第一个元素赋值给指定的变量,并执行循环主体,然后将第二个元素赋值给变量,并执行循环主体,这样一直持续下去,直到数组的所有元素都已赋给变量。

写了一点简单的类  Card

#import <Foundation/Foundation.h>

 

@interface Card : NSObject

@property (nonatomic,strong)NSString *conetens;

@property (nonatomic,getter=isMatched)BOOL match;

@property (nonatomic,getter=isChosen)BOOL chose;

 

-(int)match:(NSArray *) othercards;

@end

  

@implementation Card

-(int)match:(NSArray *)othercards

{

    int score=0;

    for (Card *card in othercards) {

        if ([card.conetens isEqualToString:self.conetens]) {

            score=1;

        }

    }

    return score;

}

 

@end

理解isEqualToString方法 ,对比两字符串,得出一个BOOL的结果。

  

posted on 2015-09-21 10:43  乡道狗毛草  阅读(271)  评论(2编辑  收藏  举报

导航