码迷,mamicode.com
首页 > 其他好文 > 详细

[oc第5天]

时间:2015-07-19 17:49:23      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

【掌握】03-点语法介绍和使用

#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
        Person *p = [Person new];
        //调用set方法
//        [p setAge:18];
//        [p setName:@"张三丰"];
        
        //点语法:xcode的特性,xcode帮我们做代码替换
        //对象.属性名
        //注意,此时(p.age)并不是直接访问实例变量,
        //而是xcode 看到点语法(p.age)后,会帮我们自动替换成
        //p.age --替换-->[p setAge:18]
        p.age = 18;
        //p.name = @"凤姐";
        
        
//        
////        int a = [p age];  //调用get方法
////        NSString *s = [p name];
//        
//        //注意,此处p.age是出现在了等号的右侧
//        //实际上,当xcode 看到p.age出现在等号的右侧后,
//        //它会帮我们把p.age ---替换成---> [p age];
//        int a = p.age;  //调用get方法
//        NSString *s = p.name;
//        
//        //强调:p.age到底是替换成get方法还是set方法,一般取决于
//        //p.age出现在等号左侧还是右侧(是设置值,还是取值)
//
//        
//        NSLog(@"\nage:%d,name:%@",a,s);
        
        NSLog(@"%d",p.age);

        
        
    }
    return 0;
}

 

 

 

self.age  死循环
本质是方法的调用,没有方法就没有点方法

 

 

【掌握】04-@property关键字介绍及使用

 

@property 的使用
 
 1、使用格式:
 
       @property 数据类型 方法名(去掉set)//是方法名不是属性名,所以下划线什么都没有
 
 2、作用:
 
    1、在xcode4.4 之前,用于帮我们实现get/set方法的声明
    2、在xcode4.4 之后,有增强功能(稍后讲)
 

 

 

【掌握】07-@synthesize关键字介绍和使用

 

Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    //实例变量
    NSString *_name;
    int _age;
}

//@property 编译器指令,编译器帮我们会进行_age _name get/set方法的声明
@property int age;
@property NSString *name;
-(void)test;
@end

Person.m

#import "Person.h"

@implementation Person
//@synthesize帮我们实现了 实例变量的get和set方法
@synthesize age; //帮我们生成了一个变量 age
//@synthesize weight;
/*
 -(void)setAge:(int)age{
 
      self->age = age;
 
 }
 -(int)age
 {
      return age;
 }
 */
@synthesize name;
/*
 -(void)setName:(NSString *)name{
 
    self->name = name;
 }
 -(NSString *)name{
 
    return name;
 
 }
 */

-(void)test{

    NSLog(@"\n_age = %d,_name = %@",_age,_name);
    NSLog(@"\nage = %d,name = %@",age,name);
}
@end

 

 

 

 

【掌握】09-@property增强使用

 

[oc第5天]

标签:

原文地址:http://www.cnblogs.com/kongweiiwei/p/4658869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!