NSObject用法:创建,继承和修改

时间:2012-10-12 00:19:47

标签: objective-c ios

我对Objective-C的语法很有经验,但缺乏它的对象部分是如何工作的(是的,我知道,这并不好)。我想知道一些事情:

  1. 如何创建对象。
  2. 如何使其从其他类继承某些属性(即UIView)。
  3. 如何在其中制作自己的属性(即健康,伤害,耐力)。
  4. 如果有人可以帮助我,我会非常感激。

2 个答案:

答案 0 :(得分:2)

在阅读已发布的文档之前要查看的一些示例: 要实例化一个类:

SomeClass *instantOfSomeClass = [[SomeClass alloc] init];

要继承属性,您可以将其子类化。要添加自定义属性,请在子类中指定它们。

@interface SomeClassThatExtendsUIView : UIView
@property NSInteger health;
@property NSInteger damage;
@property NSInteger stamina;
@end

@implementation SomeClassThatExtendsUIView
// if not using auto synthesize
@synthesize health = _health;
@synthesize damage = _damage;
@synthesize stamina = _stamina;
@end

答案 1 :(得分:0)

如何创建对象。

对象是面向对象编程的概念,但实际上它可以被定义为类的实例。

根据您想要的对象类型,有几种方法可以创建它。但是,它们都可以通过简单的alloc - init

创建

一般来说应该是:

ClassName *objectName = [[ClassName alloc] init];

如何让它从其他类继承某些属性(即UIView)。

当您对它们进行子类化时,它们会继承这些属性。例如:

@interface UIView : UIResponder

是UIResponder的子类,它是NSObject的子类:

@interface UIResponder : NSObject

如果您想使用UIView的属性制作自己的“对象”,您只需要这样做 做这样的事情:

@interface customView : UIView
您的自定义类的标题上

xcode方便地允许您通过在创建新类时选择超类来进行子类化。如果你这样做,它甚至会给你一个通常覆盖方法的模板。

如何在其中制作自己的属性(即健康,伤害,耐力)。

一旦您将自定义类创建为任何您想要的子类,您只需在头文件中添加自己的属性:

customView.h:

@interface CustomViewClass : UIView

@property (strong, nonatomic) UIButton *customButton;

- (void)someCustomMethod;

@end

然后当你想要使用它时,你只需要

CustomViewClass *customView = [[CustomViewClass alloc] init];

,您的自定义视图也可以访问常用的UIView属性和customButton属性。

(实际的uiview类默认构造函数是initWithFrame,但你也可以用这种方式初始化它并稍后设置框架) 命令单击任何UIView声明,您将看到:

- (id)initWithFrame:(CGRect)frame;          // default initializer

希望这有帮助