-2

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

  1. 如何创建对象。
  2. 如何使它从其他类(即 UIView)继承某些属性。
  3. 如何在其中制作自己的属性(即健康、伤害、耐力)。

如果有人可以帮助我,我将不胜感激。

4

2 回答 2

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
于 2012-10-12T00:55:13.313 回答
0

如何创建对象。

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

根据您想要的对象类型,有几种方法可以创建它。然而,它们都可以用一个简单的 alloc - init 创建

一般来说应该是:

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

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

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

@interface UIView : UIResponder

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

@interface UIResponder : NSObject

如果您想使用 UIView 的属性创建自己的“对象”,您只需执行以下操作:

@interface customView : UIView

在您的自定义类的标题上。

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

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

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

自定义视图.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

希望这可以帮助

于 2012-10-12T01:10:19.193 回答