[oc第5天]

【掌握】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  死循环
本质是方法的调用,没有方法就没有点方法

【掌握】[email protected]关键字介绍及使用

@property 的使用

 1、使用格式:

       @property 数据类型 方法名(去掉set)//是方法名不是属性名,所以下划线什么都没有

 2、作用:

    1、在xcode4.4 之前,用于帮我们实现get/set方法的声明
    2、在xcode4.4 之后,有增强功能(稍后讲)
 

【掌握】[email protected]关键字介绍和使用

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

【掌握】[email protected]增强使用

时间: 2024-11-05 18:43:27

[oc第5天]的相关文章

[oc第四天]【掌握】03-self用在对象方法中

[掌握]03-self用在对象方法中 self 指代的是调用当前对象方法的那个对象 过一遍代码就懂来 [掌握]04-self用在类方法中 [p class]返回的实质就是当前类(类对象) [self run] [了解] 05-self修饰变量 self->speed = speed; 如果同名,局部变量会暂时屏蔽全局变量的作用域 int a = 10; a = a; self->speed访问的是实例变量 加上self后表示访问的就是类的实例变量 不加self访问的局部变量 [掌握]08-继承

[Android Studio 权威教程]离线配置SDK,创建第一个AS项目

前三篇bolg我给大家分享了怎么安装Android Studio,但是我们还没有使用AS创建一个Android 的项目,那么这篇blog我们开始离线配置SDK,并且创建一个Android项目 没有看如何安装Android Studio的童鞋,请先看这里,然后回来我们继续: [Android Studio 权威教程]Mac下安装Android Studio [Android Studio 权威教程]Linux下安装Android Studio [Android Studio 权威教程]Window

[Android Studio 权威教程]配置出“NB”的Android Studio

前几篇博客我们已经安装好了As,并且创建了我们的第一个HelloWrod ,这片blog我们继续配置出一个NB的Android Studio 假设你是一个才開始接触到AS或者想从Eclipse转型到AS的童鞋,那么请你持续关注我左边的专栏[Android Studio 权威教程],好的.開始我们的教程. 1.配置IDE主题 默认的主题是一个灰白色.看这特别的不好看.并且对于我们程序开发人员来讲每天要对着电脑好几个小时.特别的伤眼睛.我们来配置一个高大上的暗黑主题. 点击这个设置的小图标 这里Th

[Android Studio 权威教程]Linux下安装Android Studio

我从AS 0.5版本开始使用,也是AS的推行者,在ApkBus发布的第一篇Android Studio Perview 2 获得了50K的浏览,1800多条回复下载. 在我的[Android Studio 系列教程]中,我会从1.1稳定版AS的安装到1.3版本AS NDK集成和使用 都分享给大家,敬请关注 其他平台请转移到这里: [Android Studio 权威教程]Windows下安装Android Studio [ Android Studio 权威教程]Mac下安装Android St

[Android Studio 权威教程]打包、生成jks密钥、签名Apk、多渠道打包

上一篇我们讲了多渠道打包 其中我们用到了签名文件在eclipse时.keystore在Android Studio中就是.jks文件了,那么这个文件怎么生成呢?这篇文章是上一篇的补充篇. 生成jks签名文件 选择Build > Generate Signed APK- 选择项目app > Next 选择Create new- 选择签名文件的路径,这些信息和eclipse一样了,填完点击OK 选择Next 我们这里做测试选择qihu360和xiaomi打包release版,最后点击Finish

[Android Studio 权威教程]AS构建系统-Gradle

前几篇我们主要讲了AS的配置的一些东西,今天我们就开始认识一下Android Studio的[构建系统]-Gradle. Gradle是什么?Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具.[百度百科] 在AS中包含一个顶级构建文件和每个模块构建文件组成,如下图 我们这里就主要讲[顶级配置文件和模块配置文件以及sdk配置文件] 1.等级配置文件 2.模块配置文件 说明: minifyEnable false 是apk变小压缩ap

[Android Studio 权威教程]Mac下安装Android Studio

从AS 0.5版本开始使用,也是AS的推行者,在ApkBus发布的第一篇Android Studio Perview 2 获得了50K的浏览,1800多条回复下载. 在我的[Android Studio 系列教程]中,我会从1.1稳定版AS的安装到1.3版本AS NDK集成和使用 都分享给大家,敬请关注 一.网盘下载 点击下载 | 密码: qp5a 二.开始安装 找到下载文件 双击安装,拖动AS图标到Applications 在Applications中找到AS 选择打开 欢迎转载 | 转载请注

[OC/Swift混编]在Swift中调用OC方法(转载)

OC中方法: - (void)sayWhat:(NSString *)name andAge:(NSString *)age { NSLog(@"%@,%@",name,age); } Swift中调用: someone.sayWhat("achao",andAge:"22")

[好程序员训练营]Objective-C学习笔记---构造函数和析构函数

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! 简单的讲,构造函数就是在创建一个对象的时候起到初始化的作用,对这个对象里的一些成员变量进行初始化,析构函数就是在对象被删除进行一些清理工作,也就是专门的扫尾工作,下面用代码来进行具体说明. 一.初始化函数 在OC中凡是已init开头的函数我们都称之为初始化函数,在声明初