我对Objective-C的语法很有经验,但缺乏它的对象部分是如何工作的(是的,我知道,这并不好)。我想知道一些事情:
如果有人可以帮助我,我会非常感激。
答案 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
希望这有帮助