Objective c 类的Init方法

Objective c 类的Init方法,objective-c,cocoa,class,Objective C,Cocoa,Class,我不确定objective c中类的init方法的语法。我需要初始化一个类的全局对象,该对象可以在另一个类的方法中使用。所以MyClass2中的MyClass1对象可以在MyClass2的方法中使用。如果有人知道init方法的正确语法以及如何调用它,我很想知道。任何帮助都将不胜感激!谢谢。如何初始化类实例: Class1 *classOneInstance = [[Class1 alloc] init]; 确保在Class2文件中包含Class1头文件 使classOneInstance成为实

我不确定objective c中类的init方法的语法。我需要初始化一个类的全局对象,该对象可以在另一个类的方法中使用。所以MyClass2中的MyClass1对象可以在MyClass2的方法中使用。如果有人知道init方法的正确语法以及如何调用它,我很想知道。任何帮助都将不胜感激!谢谢。

如何初始化类实例:

Class1 *classOneInstance = [[Class1 alloc] init];
确保在Class2文件中包含Class1头文件

使classOneInstance成为实例变量或更好的属性


基本上,您需要进行一些阅读和学习。

下面是您的Class2接口文件的外观:

//Class 2 interface
#import <Foundation/Foundation.h>

//Forward declaration so we can keep the import private
@class Class1;

@interface Class2 : NSObject
@property Class1 *instanceVar;
@end

我知道这一点。我需要在一个.m文件中初始化一个全局对象,它也是一个类。该对象必须可供该类中的所有方法访问。将classOneInstance作为实例变量或更好的属性。基本上你需要阅读和学习,每个对象都是一个类的实例。我认为你对这些术语理解得不够透彻,无法解释你的问题。也许,如果你给我们一个具体的例子,说明你正在尝试做什么,我们可以帮助你更好。或者,甚至更好:OP可以拿一本书,至少可以学习最基本的知识。此外,它的名字globalVar只是一个普通属性,有一个隐含的支持ivar。它与全局变量无关。当globalVar是一个可以在文件中任何位置访问的实例变量时,它怎么不被视为全局变量呢?我一直在搜索,在IVAR/properties和globals方面,我所能想到的区别是,全局变量可用于整个应用程序所有文件,其中as属性仅在其文件已导入的情况下可用?全局变量实际上是可以从应用程序的任何部分访问的变量或对象。如果需要导入,那没关系。通常全局变量也存在于表单创建中,直到应用程序终止。如果它们是对象,则可以称为单例。使用全局变量和单例可以指示代码气味。可以从一个类中访问的变量可以分布在多个文件中,称为实例变量IVAR,因为它存在于该类的一个实例的作用域中。请注意,instanceVar只是声明的,从未实例化,这是问题的关键。所以这两个用法只会记录为null。为了方便起见,您还可以在类上调用new。这将调用alloc,然后调用init。
#import "Class2.h"
#import "Class1.h"

//Now we can use our Class1 instance variable (property) below

@implementation Class2

-(void)funMethod {

    //Let's use instanceVar
    NSLog(@"%@", self.instanceVar);
}

-(void)coolMethod {
    //Let's use it again!
    NSLog(@"%@", self.instanceVar);
}

@end