Tag: objective c

从静态基类方法调用子类构造函数

好的……在Objective C中,您可以使用’new this()’从基类中的静态方法创建子类,因为在静态方法中,’this’指的是类,而不是实例。 当我第一次发现它并且我经常使用它时,这是一个非常酷的发现。 但是,在C#中不起作用。 该死的! 那么……任何人都知道如何在静态基类方法中“新建”子类? 这样的东西…… public class MyBaseClass{ string name; public static Object GimmeOne(string name){ // What would I replace ‘this’ with in C#? return new this(name); } public MyBaseClass(string name){ this.name = name; } } // No need to write redundant constructors public class SubClass1 : MyBaseClass{ } public class SubClass2 […]

对象序列化 – 从C#或java到Objective C

服务器端 – C#或java 客户端目标C. 我需要一种在C#\ java中序列化对象的方法,并在Objective C中对其进行反序列化。我是Objective C的新手,我想知道在哪里可以获得有关此问题的信息。 谢谢。

Objective-C到C#的yield关键字是否有任何并行

我第一次在C#中看到yield关键字时,我认为“糟糕的是如何破解语言”。 从那时起成长并实际使用该语言我发现表达状态逻辑非常简单,我想在其他开发平台中使用类似的方法。 我正在探索Objective-C的一些支持实用程序。 是否有类似Objective-C的C#yield关键字?

从C插件向Unity3D发送字节数据的任何正确方法?

这里只是一个好奇的问题。 当您在iOS平台上为Unity编写插件时,插件具有有限的本机到托管回调function(从插件再到Unity)。 基本上这个文档: iOS插件Unity文档 说明你能够回拨的函数签名是这样的: 只能从本机代码调用与以下签名对应的脚本方法:function MethodName(message:string) C中定义的签名如下所示: void UnitySendMessage(const char * obj,const char * method,const char * msg); 所以这几乎意味着我只能将字符串发送回Unity。 现在在我的插件中,我使用protobuf-net来序列化对象并将它们发送回Unity以进行反序列化。 我已经让这个工作,但通过一个解决方案我觉得很丑陋,并不是很优雅: Person* person = [[[[[Person builder] setId:123] setName:@”Bob”] setEmail:@”bob@example.com”] build]; NSData* data = [person data]; NSString *rawTest = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; UnitySendMessage(“GameObject”, “ReceiveProductRequestResponse”, [rawTest cStringUsingEncoding:NSUTF8StringEncoding]); 基本上我只是将字节流编码为字符串。 在Unity中,我然后获取字符串的字节并从那里反序列化: System.Text.UTF8Encoding encoding=new System.Text.UTF8Encoding(); Byte[] bytes = […]

Objective-C是否具有像C#一样的列表Lambda查询?

例如,我有一个简单的C#代码块: IList list = new List(); list.Add(“Objective-C”); list.Add(“C#”); list.Add(“C++”); list.Add(“Java”); list.Add(“Python”); var filteredList = list.Where(c => c.Contains(“C”)).ToList(); filteredList只包含“Objective-C” , “C#”和“C ++” 。 我想知道Objective-C是否支持使用像这样的lambda过滤对象列表(NSArray)的任何方法? 谢谢。

开发客户端 – 服务器iphone应用程序

如果我想开发一个带有客户端 – 服务器设计的iPhone应用程序(iPhone设备作为客户端和ac#server),有两个问题: 是否可以使用我自己的笔记本电脑运行服务器? 如果没有,我的选择是什么? 我是否必须开发自己的传输消息协议? 因此,如果我理解正确的,从客户端向服务器发送诸如“创建新用户”之类的消息的过程如下:1。客户端将创建包含命令“CREATE NEW USER”和新用户详细信息的JSON / XML 。 2.客户端将通过HTTP请求(作为HTTP请求的主体)发送此JSON / XML,其URL映射到服务器端的ac#方法。 3.这将在服务器上触发相应的方法,并在数据库上创建新用户。 4.服务器将创建包含重播“CREATED”的JSON / XML,并将通过HTTP响应(作为HTTP响应的主体)将其发送到客户端。 那是对的吗?

Two Dimension NSMutableArray有帮助吗?

好的,我有一些看起来像这样的C#代码,我想知道如果我想把它放到Objective-C中,其他开发人员会推荐什么。 List<List> meta_data 我打算使用NSMutableArray但是如何准确地得到那个二维数组是我的问题,因为Objective-C中没有多维数组这样的东西。 我是新手使用NSMutableArray ,所以我NSMutableArray需要一些帮助。 我知道一旦我找到整个“二维”部分,我将使用NSString将字符串对象添加到数组中。

SignalR IOS客户端,Web Socket传输无法从服务器调用该方法

我使用SignalR-ObjC Client在我的IOS应用程序和.Net服务器之间提供通信。 我可以连接longpulling并从自托管跨域服务器调用方法,没有任何错误。 但由于我的应用程序需求,我必须使用WebSocket。 我有一个Singleton Manager,如: @implementation SignalRManager static int reconnectingTry; + (id)sharedManager { static SignalRManager *sharedHttpManager = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedHttpManager = [[self alloc] init]; sharedHttpManager.hubConnection = [SRHubConnection connectionWithURL:@”http://xxx:8080/signalr”]; sharedHttpManager.proxy = [sharedHttpManager.hubConnection createHubProxy:@”myhub”]; }); return sharedHttpManager; } +(SRHubProxy *)proxy { return [[SignalRManager sharedManager] proxy]; } +(SRHubConnection *)connection { return [[SignalRManager sharedManager] […]

c#像目标c一样调度队列

我想模仿c#中objective-c调度队列的行为。 我看到有一个任务并行库,但我真的不明白如何使用它,并希望得到一些解释如何。 在客观ci中会做类似的事情: -(void)doSomeLongRunningWorkAsync:(a_completion_handler_block)completion_handler { dispatch_async(my_queue, ^{ result *result_from_long_running_work = long_running_work(); completion_handler(result_from long_running_work); }); } -(void)aMethod { [self doSomeLongRunningWorkAsync:^(result *) { // the completion handler do_something_with_result_from_long_running_async_method_above; }]; } 这怎么被翻译成c#style任务并行库? 任何比较网站?

适当的Objective-C助手“Wannabe”私人方法?

虽然我讨厌在这个问题上击败一匹马(我已经阅读了关于此的各种文章),但我想在创建我自己的“自己的约定”之前获得更多关于这个问题的意见,以便在编写时使用在Objective-C中。 我想弄清楚的约定最终是如何(使用生产级代码的最佳编码实践)在类中使用私有方法。 来自C#的背景,当我编写类时,通常会有一个代码块在多个公共方法中重复(例如错误检查或WCF服务连接设置)。 我通常会创建一个此代码块,并将其放在一个私有方法中,仅供这些公共方法访问。 这样,如果我需要进行更改,我只需要在一个位置执行此操作,而不是在类中的10个不同位置,但是从不让用户能够调用此私有方法。 例如: public Class A { public void method1() { doErrorChecking() // Do more stuff } public void method2() { doErrorChecking() // Do more stuff } private doErrorChecking() { //Error Checking Code} } 我知道没有真正的方法可以在Objective-C中真正使最后一个方法成为私有,但是我真的想确保当我在Objective-C中为iOS开发创建所有未来的类时,我遵循可用的最佳实践未来的代码重构将不再需要(希望如此)。 我注意到人们谈论类别,其他人只是不把方法放在@interface文件中,其他人使用扩展方法。 目前我只是将方法实现放在@implementation文件中,而不是接口文件。 我也让“想要”的私有方法有一个非常独特的名称,因此子类或覆盖方法不是问题。 这是我应该遵循的道路吗? 或者对于这些特殊情况,有更好的方法吗?