Tag: cocoa

需要帮助将C函数转换为Objective C方法

我有一个用C编写的函数,它相当大,目前只在C文件的main()函数中运行,而我一直在测试它。 这是它的声明 void getData(const char* encodedBuffer, int user); 如果你想看到getData的内容,那么这就是它的pastebin。 截至目前,我只是传递encodedBuffer,我将有一个全局变量,由getData函数更新。 我想知道将这样的基于C的函数转换为Objective-C协议方法的正确方法是什么。 现在我正在这样设置它 iDriver.h(我的界面/协议) #import @protocol iDriver -(void)getData; -(void)cancel; @end DriverOne.h(实际实现协议方法的类) #import #import “iDriver.h” @interface DriverOne : NSObject @end DriverOne.m #import “DriverOne.h” @implementation DriverOne enum Status getData(char* encodedBuffer, int user) { // Copy C code which I showed in the link earlier // to above into […]

如何在objective-c项目中使用纯C文件?

简单的问题: 我创建了一堆C helper例程,并试图将它们包含在项目中。 我曾假设以下内容可以。 MyFuncs.h typedef struct { float n; } MyStruct; float Operation(MyStruct ms); MyFuncs.m #import “MyFuncs.h” float Operation(MyStruct ms) { return ms.n * ms.n; } 但是,我收到链接器错误“架构i386的未定义符号”和“从x引用的操作(MyStruct)” 还有其他方法需要设置标头/实现C文件才能工作吗? 注意:这适用于使用Xcode 4.5的iOS项目。

LDAP身份validation,ldap_sasl_bind_s无效,但ldap_simple_bind_s有效

我有一个问题,在ldap_sasl_bind_s不起作用,但ldap_simple_bind_s工作。 奇怪的是,ldap_sasl_bind_s甚至可以使用错误的密码,并让用户感觉他输入了正确的密码。 问题的PFA代码片段,如果我的方法有任何问题,请告诉我。 { int rc, aReturnVal = 0; NSString *aUserDN = [NSString stringWithFormat:@”uid=%s,cn=users,dc=example,dc=com”, username]; char* userDN = (char*)[aUserDN UTF8String]; rc = ldap_simple_bind_s ( ld, userDN, password ); // TODO: ldap_simple_bind_s is a deprecated method and should not be used for long. ldap_sasl_bind_s is the right method, but is not working for now. // Find […]

在Objective-C中保存空白文件

我正在研究一个代码,除其他外,必须保存一个零填充文件。 它可以创建一个10MB到1GB空白的文件。 它必须类似于这个Unix命令: dd if=/dev/zero of=my_image.dsk count=20480 我可以做一个小尺寸的工作: int totalSize = 1024*1024; char buf[totalSize]; strcpy(buf,””); NSData *theData = [NSData dataWithBytes:buf length:sizeof(buf)]; //NSLog(@”%@”, theData); NSLog(@”%lu”, sizeof(buf)); [theData writeToFile:@”/Users/foo/Desktop/my_image.dsk” atomically:YES]; 但是,如果我尝试更大的值(例如1024 * 1024 * 10),它会崩溃。 所以我尝试过: NSFileManager *ddd = [[NSFileManager alloc ] init]; [ddd createFileAtPath:@”/Users/foo/Desktop/my_image.dsk” contents:[NSData data] attributes:nil]; 它创建一个空文件,但不好,因为文件大小为零。 它不应该是零。 我花了好几个小时试图找到答案但没有成功。 我想在Obj-C中做到这一点,但在我疯了之前,C也是一个选择。 拜托,有人给我点亮了! 提前致谢! – 编辑 – […]

将长64位十进制转换为二进制

好吧,虽然我仍然遇到问题,但我想要完成的事情相当简单。 这是我的代码: – (NSString*)toBin:(long)dec { long num = dec; NSString *res = [NSString string]; for (long i=63; i>=0; i–) { long div = 1<<i; if ((num&div)==div) res = [res stringByAppendingString:@"1"]; else res = [res stringByAppendingString:@"0"]; } return res; } 这就是我测试它的方式: for (long i=1; i<10; i++) { NSLog(@"%u = %@",i,[self toBin:(long)i]); } 但是,上面的输出是: 1 = 0000000000000000000000000000000100000000000000000000000000000001 […]

如何使用Cocoa OSX SDK检查TCP端口

我想制作一个cocoa应用程序,它将检查服务器上是否打开了某些TCP端口。 如果它关闭则返回一个小红球,如果它打开则返回绿色…… 但我有点困惑,使用什么类,等等。 在此先感谢您的帮助

纯C中的Cocoa OpenGL窗口?

我想在MacOSX中打开一个OpenGL窗口(以显示和抓取击键/鼠标事件)。 我不想使用Glut(因为它要求它是根线程)。 我不想学习目标C. 反正有无法在纯C中访问OpenGL API吗? 谢谢!

cocoa应用程序中的资源文件夹路径

我正在使用一些c文件的Mac OS X应用程序,我有一个配置文件,我将它添加到应用程序资源。 我的问题是“资源文件夹的相对路径是什么?” 我试过了 “[MyAppName]。应用程序/内容/资源/的config.cfg” 只有当我从xCode运行我的应用程序时才能正常工作,否则它不起作用! 我认为应用程序从“MacOS”文件夹开始,所以我使用了这条路径: “../ Resources / config.cfg” 但它也没有用:( 请帮忙

在ObjectiveC中使用指针的最大优势是什么?

我意识到99%的人认为“这是什么……”但请帮助我理解使用pointers这个概念。 我相信我的具体问题可以帮助很多新手。 我理解指针是什么,它们是对内存中地址的引用,通过使用(*)运算符,您可以获取该地址中的值。 让我们说: int counter = 10; int *somePointer = &counter; 现在我在counter内存中有地址,我可以通过这样做间接指出它的值: int x = *somePointer; 这使x = 10 ,对吧? 但这是最基本的例子,对于这种情况我可以使用int x = counter; 并获得该值,所以请解释为什么指针在Objective-C和其他一些语言中确实是如此重要…在什么情况下只有指针才有意义? 欣赏它。

的示例

我找不到方法的有效例子[NSDictionary getObjects:andKeys:] 。 我能找到的唯一例子 ,不编译。 我提供了错误/警告,以防有人搜索它们。 我感到困惑的原因是因为NSDictionary上的大多数方法都返回NSArray 。 但是,在文档中它声明此方法的out变量作为C数组返回。 以下是您按照链接示例可能获得的错误消息/警告: NSDictionary *myDictionary = …; id objects[]; // Error: Array size missing in ‘objects’ id keys[]; // Error: Array size missing in ‘keys’ [myDictionary getObjects:&objects andKeys:&keys]; for (int i = 0; i < count; i++) { id obj = objects[i]; id key = keys[i]; } 。 […]