2017-08-04 10 views
1

私はXcodeと目的Cの新機能ですが、基本は分かっていますが、通常のCコードをXcodeの目的Cに実装できるかどうか疑問に思っていました。 Cヘッダファイルを作成し、それをXcodeに実装しますか?それが可能であれば、どうすればいいですか、私はヘッダーをあまり経験していません。それが完全に間違っている場合は、私は一般的に目的関数C(Xcode)でC関数を呼び出す方法を知りたいだけです。xcodeでCと目的Cを混在させる

+3

[クリック1](https://stackoverflow.com/questions/2193826/using-ac-function-in-objective-c-for-iphone)click2](HTTPS:// stackoverflowの.com/questions/801976/mixed-c-functions-in-objective-c-class) –

答えて

3

Cコードを別のファイルに置く必要はありません。あなたの.mファイルObjective-CコンパイラはCコードを受け入れます。

コードを別のファイルに分割してヘッダーファイルを使用する方法を理解したい場合は、そのようにすることもできます。

+0

私はこれを知らなかった、ありがとう –

0

この方法で試してください。

void *refToSelf; 
int cCallback() 
{ 
    [refToSelf someMethod:someArg]; // here objective-c method is calling in c. 
} 

@implementation SomeClass 
- (id) init 
{ 
    self = [super init]; 
    refToSelf = self; 
} 
- (void) someMethod:(int) someArg 
{ 
} 
1

Objective cはCをインラインで呼び出すことができます。例えば:

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); //result of a C method 
    [self drawRoundedRectWithContext:context withRect:rect]; 

} 
関連する問題