2011-07-25 15 views
1

私はObjective Cを学んでいて、クラスを作成して使用する正しい方法が何であるか不思議でした。 C#のでC#とObjective Cクラス

私のような何かを行うことができます:

Void MyMethod() 
{ 
    MyClass clsOBJ1 = new MyClass(); 
    clsOBJ1.Name = “Fred”; 
} 

それとも、OBJ Cで似た何かを達成する方法であっても

MyClass clsOBJ2; 
Void MyMethod() 
{ 
clsOBJ2 = new MyClass(); 
} 

Void MyMethod2() 
{ 
clsOBJ2.Name = “Bob”; 
} 

私はOBJ Cでこれを試してみました:

MyClass clsOBJ3 = [[[MyClass alloc]init]autorelease]; 

しかし、私はあなたのコードの詳細を参照する必要が

答えて

2

:-)エラーメッセージ '宣言されていないMyClassの'

感謝を取得します確かに私の推測では、あなたのヘッダーをインポートすることはできませんMyClass

ファイルの先頭に:

#import "MyClass.h" 

または類似のもの

+0

私はにインポートラインを入れたときに、私は、ファイルが見つからないというエラーを取得するにしかし思ったので、これはです。しかしそれはプロジェクトにあります! – Microkid

+0

インポートはファイルURLなので、上記のインポートはファイルが同じディレクトリにある場合にのみ有効です – jaywayco

+0

なぜそれがうまくいかなかったのかまだ分かりませんが、プロジェクトを削除して再作成してしまいました。みんなありがとう! – Microkid

1

あなたは通常、次の必要があります:

#import "MyClass.h" 

@implementation MyClass 

// synthesize your properties here 

- (id) init { 
    if((self = [super init]) != null) { 
     // some init stuff here 
    } 

    return self; 
} 

- (void) dealloc { 
    // your class specific dealloc stuff 
    [super dealloc]; 
} 

そして、いくつかの他のファイルに

MyClass.h

@interface MyClass : NSObject { 
@private 
    // your ivars here 
} 

// your property declarations and methods here 
@end 

MyClass.mますその後、MyClasを使用できますSように:

SomeOtherFile.m

#import "MyClass.h" 

- (MyClass *) createAMyClass { 

    MyClass * mClass = [[MyClass alloc] init]; 

    return [mClass autorelease]; 
} 
+0

SomeOtherFile.mに#import "MyClass.h"が必要です。 – jaywayco

+0

おかげさまで、コードを更新しました。 – Perception