2017-03-16 174 views
0

我想從c => objective c(ios)調用數據。如何從c方法調用客觀c方法iOS

下面我分享了我的代碼截圖。

I WANT TO CALL data from c => objective c

+0

爲什麼在vc類中創建c函數?你的所有代碼似乎都是客觀的c –

+0

我從c文件中調用了CameraCaptureFromC。我得到了這個類錯誤。因爲它是自己的,但是這會產生錯誤。 – NovusMobile

+0

' - (void)cameraCapture {}是一個Objective-C方法,'void CameraCaptureFromC()...'是一個C函數。但是當你做'cameraCapture()'時,你說它是C函數,而不是。另外,請不要張貼屏幕截圖。第一個原因?我添加了在答案/評論中手動複製/寫入代碼以指出問題。顯然,開發者很懶。此外,圖像往往會與主機一起消失。 – Larme

回答

0

申報ID全球化志願服務青年variabe

#import <Cocoa/Cocoa.h> 

id refToSelf; 

比使用

[refToSelf cameraCapture]; 
+0

是的。這將有所幫助,但我正在'訪問_cachedSystemAnimationFence需要主線程「 – NovusMobile

+0

@NovusMobile只是在主線程中調用方法。因爲如果你在ui中的變化與主線程中調用的所有函數相關 – iOS

0

到目前爲止,您已經得到了正確的路線呼叫。但是您忘記在您的.c文件中包含.h文件

假設您有myiosclass.h要撥打cameraCapture()的方法,該方法存在於mycclass.c文件中。

在你mycclass.c

#include "myiosclass.h" 

    void cameraCapture(){ 
    //your c code goes here... 
    } 

在你myiosclass.h

extern void cameraCapture(); 

在你myiosclass.m

-(void)myMethod { 
    cameraCapture(); //Called your C method. 

    //Rest of objective c code ... 
    } 

希望它會幫助你。

0

通過當前視圖控制器作爲參數在你C方法和使用它

void CameraCaptureFromC(long cCameraClient, 
        const char *imageName, 
           void *object, 
        MasterViewController *vc) { 
    NSLog(@"glfm:Camera Call"); 
    [vc addAllImages]; 
    //your code 
} 
0
// 
// ViewController.m 
// test 
// 
// Created by colorsMacBook on 16/03/17. 
// Copyright © 2017 colors software. All rights reserved. 
// 

#import "ViewController.h" 

@interface ViewController() 

@end 



@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    someMethod(); 
} 

void someMethod(){ 
    printf("test123\n"); 
    [ViewController someMethod2:@"Calling objective C Method from C method"]; 
} 
+(void)someMethod2:(id)sender{ 
    NSLog(@"Message: %@",sender); 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 


@end 

控制檯日誌

test123 2017年3月16日13:22:02.858測試[1198 :240019]消息:調用C方法的目標C方法