Object-C基础结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object-C基础结构相关的知识,希望对你有一定的参考价值。

参考技术A @interface:标志类的开始

Bread:定义的类名

NSObject:被继承的父类

@interface与@end中间:该类声明的属性和方法

@end:标志类的结束

#import "Bread.h":导入该类的头文件,说明该实现文件实现的类的声明文件

@implementation:标志该实现文件实现的开始

Bread:指明被实现的类

@end:标志该实现文件的结束

类的头文件内在定义时声明了两个成员变量:字符型变量brand和flavor。因其默认读取权限为protected,即受保护的,其他地方若需访问这两个属性,必须通过其自身提供的set和get方法。

用于记录每个变量的状态,例如分组列表每个分组的开关状态。

属性变量无需像成员变量一样必须先手动实现其set和get方法,属性变量声明以后即可调用。

属性变量自动实现的内容:

①自动生成一个对应的成员变量,变量名为属性变量名前加下划线"_"。

②自动提供了对应的set方法:set*和get方法:*

   *set方法变量名数字母大写;get方法方法名即变量名,无get是为了与系统其他方法名区分开。

③提供了set和get方法的具体实现。

*属性变量中的self指代调用者,即谁调用,self就指代谁。

绝大多数情况均使用属性变量

导入被实例化的类的头文件-->Bread *bd来接收[Bread new]的对象

[Bread alloc]实例化并分配内存空间

[Bread init]实例化并对内存空间初始化

*使用new只能默认init进行初始化,alloc方式可以使用其它的init开头的方法进行初始化。

*默认的init方法中 , 什么都没有做,直接返回了self , 所以,如果没有重写init的话, [Class alloc] 和 [[Class alloc]init] 是等价的.其中alloc为类方法,init为实例方法。

          单参数方法

-:表明该方法为实例方法,该方法必须再该类实例化为对象以后才可以调用。

void:表明该方法不返回返回值。返回值只能为单一对象,一个字符,一个数组等。

setBrand:构造的方法的方法名。

NSString *:表明方法参数的类型。

aBrand:传入的参数在方法内的别名。

      多参数方法

andFlavor:标签,其作用是解释下一个参数的含义和使方法名更连贯更通俗易懂。

其他部分与单参数方法相同。

            函数前缀与声明部分相同,该方法的作用是将外部传来的参数aBrand和aFlavor赋值给该类的成员变量brand和flavor以及将自身的这两个成员变量通过方法返回值的形式传递给外部。达到外部对该类成员变量的存取操作。

bd4:调用方法的具体对象。

brand:用于接收方法的返回值。

达利园/蒜泥味:调用方法时传递的参数。

object-c 框架之经常使用结构体

Foundation 框架定义经常使用结构体。结构体採用object-c 定义:经常使用NSSRange,NSPoint。NSSize,NSRect等


 一、NSRange 创建范围结构体。


    方法:NSMakeRange(參1,參2)。location和length。


 二、集合数据类型。


    1,NSPoint 创建一个点。
        方法:NSMakePoint(參1,參2)。x和y。
    2,NSSize 创建长和宽。


        方法:NSMakeSize(參1,參2)。width和height。


以下是我的測试学习代码:

//
//  FoundtionOftenStruct.h
//  Array_01
//
//  Created by selfimprovement on 15-6-4.
//  Copyright (c) 2015年 FoundationFramework. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface FoundtionOftenStruct : NSObject
{
    
}
//声明一个动态的方法。没有返回值
-(void)testNsRange;//NSRange表示一个范围
-(void)testNsPoit;//NSPoint表示一个点
-(void)testNsSize;//NSSize表示大小
-(void)testNsRect;//NSRect表示矩形
@end
//
//  FoundtionOftenStruct.m
//  Array_01
//
//  Created by selfimprovement on 15-6-4.
//  Copyright (c) 2015年 FoundationFramework. All rights reserved.
//

#import "FoundtionOftenStruct.h"

@implementation FoundtionOftenStruct
-(void)testNsRange{
    NSString *strRange = @"0,1,2,3,4,5,6,7,8,9";
    NSRange range1 = [strRange rangeOfString:@",2,"];
    if (range1.length > 0) {
        NSLog(@"range is%@",NSStringFromRange(range1));
    }
}
-(void)testNsPoit{
    NSPoint point =CGPointMake(10, 5);
    NSLog(NSStringFromPoint(point));
}
-(void)testNsSize{
    NSSize size = CGSizeMake(10, 5);
    NSLog(NSStringFromSize(size));
}

-(void)testNsRect{
    NSRect rect = CGRectMake(1, 3, 10, 20);
    NSLog(NSStringFromRect(rect));
}
@end

//
//  main.m
//  Array_01
//
//  Created by selfimprovement on 15-6-1.
//  Copyright (c) 2015年 FoundationFramework. All rights reserved.
//
#import "FoundtionOftenStruct.h"

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        FoundtionOftenStruct *rangeStruct = [FoundtionOftenStruct alloc];
        rangeStruct.testNsRange;
        rangeStruct.testNsPoit;
        rangeStruct.testNsRect;
        rangeStruct.testNsSize;

    }
    
    return 0;
}


測试效果:

2015-06-04 15:12:56.567 Array_01[914:303] range is{3, 3}
2015-06-04 15:12:56.582 Array_01[914:303] {10, 5}
2015-06-04 15:12:56.586 Array_01[914:303] {{1, 3}, {10, 20}}
2015-06-04 15:12:56.587 Array_01[914:303] {10, 5}
Program ended with exit code: 0




以上是关于Object-C基础结构的主要内容,如果未能解决你的问题,请参考以下文章

Object-C基础——类与对象

iOS Object-C基础整理

iOS Object-C基础整理

IOS开发基础Object-C(12)—单例模式

在Object-C 中的 NSArray,NSString…… NS到底是啥??

object-c