`
tonynju
  • 浏览: 75986 次
  • 性别: Icon_minigender_1
  • 来自: 浙江嘉善
社区版块
存档分类
最新评论

使用objc的protocol buffer小记

阅读更多

使用protocol buffer传输数据,相比json,数据量大大降低。不过objc的protocol buffer实现还是有很多小缺陷的,比较令人郁闷的是没有property的set方法。

 

为了修改一些entity的属性,使用了category自己写了一些set方法,结果导致了很多序列化的问题。发现问题的根源在于entity build以后会记录serizlization size,而自己的实现的set方法会导致serizlization size出错。最终找到了一个修改protoc objc gen工具的模板的方式。详情见:https://github.com/tonycn/protobuf-objc

 

附: 在make protobuf-objc之前需要先安装google官方的最新protoc

分享到:
评论

相关推荐

    @objc小结

    @objc protocol MyProtocol { @objc func doSomething() } ``` 在Swift中,你还可以使用`@objc`来显式指定一个方法是在运行时通过消息传递调用的,这在某些情况下可能会更高效。例如,KVO(Key-Value Observing)...

    使用wsdl2objc实现Soap

    本文将深入探讨如何使用`wsdl2objc`工具来实现SOAP请求,以便在Objective-C项目中与SOAP服务进行通信。 `wsdl2objc`是由Salesforce公司开源的一个工具,它能够根据WSDL(Web Service Description Language)文件...

    objc使用正则表达式

    在iOS开发中,Objective-C(简称objc)是主要的...总之,objc本地读取网页并使用正则表达式处理是数据解析的重要技能。理解这些基本概念和技巧,能够帮助开发者高效地从HTML中提取所需信息,提升应用的功能和用户体验。

    WSDL2Objc下载工具

    使用WSDL2Objc工具的具体步骤一般包括以下几个阶段: 1. 下载:首先从其官方网站或其他可靠的源下载WSDL2Objc工具的代码包。 2. 安装:解压缩文件,根据提供的安装指南或README文件,可能需要编译或配置环境。 3. ...

    objc 中文+ 英文,快速上手

    开发ObjC应用通常使用Xcode IDE,它集成了代码编辑、调试、模拟器和打包发布等功能。Swift Package Manager也可以用来管理ObjC项目中的第三方库。 ### 5. 英文教程补充 对于更深入的学习,英文教程可能涵盖更多...

    nib2objc源码

    nib2objc是一个开源工具,主要用于将Apple的Interface Builder(IB)文件转换为Objective-C代码,以便在Xcode项目中方便地使用。这个工具对于iOS和macOS开发者来说尤其有用,因为它自动化了手动编写代码来加载界面的...

    J2OBJC的demo

    通过以上步骤,你可以了解并使用J2OBJC进行Java到Objective-C的转换,进而实现跨平台代码共享。不过,需要注意的是,虽然J2OBJC提供了便利,但并非所有的Java代码都适合直接转换,对于依赖于Java特殊特性的代码(如...

    objc4源代码

    此外,分类(Category)和协议(Protocol)在objc中的实现也离不开runtime的支持。分类允许向已有的类添加方法,而协议则提供了多继承的替代方案,它们的实现都涉及到runtime的动态加载和方法解析机制。 总而言之,...

    iOS-OC-Runtime使用小谈(objc_setAssociatedObject)

    使用`objc_setAssociatedObject`的一个常见场景是扩展类的功能,例如为分类(Category)添加属性。在分类中不能直接添加实例变量,但可以通过关联对象来模拟属性。以下是一个简单的示例: ```objc #import <objc/...

    j2objc-annotations-1.3-API文档-中文版.zip

    赠送jar包:j2objc-annotations-1.3.jar; 赠送原API文档:j2objc-annotations-1.3-javadoc.jar; 赠送源代码:j2objc-annotations-1.3-sources.jar; 赠送Maven依赖信息文件:j2objc-annotations-1.3.pom; 包含...

    objc运行时源码探究

    objc运行时源码探究: objc,即Objective-C,是一种广泛应用于苹果操作系统中的编程语言,其运行时机制是其核心特性之一。运行时机制允许程序在运行时查询和修改类、对象以及方法的行为。objc运行时是一个在...

    j2objc-annotations-1.1-API文档-中文版.zip

    赠送jar包:j2objc-annotations-1.1.jar; 赠送原API文档:j2objc-annotations-1.1-javadoc.jar; 赠送源代码:j2objc-annotations-1.1-sources.jar; 赠送Maven依赖信息文件:j2objc-annotations-1.1.pom; 包含...

    实战 objc_setAssociatedObject

    在博客中的实战示例`setAssociatedDemo`中,开发者可能会创建一个Category来扩展某个类的功能,比如`UIView+Extension`,在Category中使用`objc_setAssociatedObject`为`UIView`添加一个自定义的属性,如`tagValue`...

    nib2objc工具

    nib2objc工具是一款针对iOS...通过使用nib2objc,开发者可以更高效地管理项目中的界面代码,提高开发效率,专注于更核心的业务逻辑。尽管存在一定的局限性,但在Objective-C的开发环境中,它依然是一个值得推荐的工具。

    WSDL2ObjC rev110

    4. **处理SOAP消息**:SOAP(Simple Object Access Protocol)是Web服务常用的一种通信协议,WSDL2ObjC会根据WSDL中的SOAP绑定生成对应的SOAP消息构建和解析代码。 5. **集成与使用**:生成的Objective-C代码可以...

    objective c 消息 objc_msgSend

    在Objective-C中,消息传递是实现对象间通信的核心机制,`objc_msgSend`函数就是这个机制的底层实现。本文将深入探讨`objc_msgSend`以及与其相关的`performSelector`方法,并通过实例来阐述它们的工作原理和用法。 ...

    用objc/runtime给类别扩展属性代码

    3. 动态属性:为了使属性能够在KVC(Key-Value Coding)和KVO(Key-Value Observing)中正常工作,我们需要使用`objc/runtime`来实现属性的setter和getter。这涉及到`class_addMethod`和`class_getInstanceMethod`...

    objc 中国 app 架构

    2. **MVVM(Model-View-ViewModel)架构**:随着Swift的流行,MVVM逐渐被更多开发者接受,它更强调数据绑定和解耦,使代码更加简洁,尤其适合配合RxSwift等响应式编程库使用。 3. **VIPER(View-Interactor-...

    objc post 请求 jason解析

    本篇文章将详细讲解如何在objc中使用POST请求获取JSON数据并进行解析。 首先,我们需要了解POST请求的基本概念。POST请求是HTTP协议中的一个方法,用于向服务器提交数据,常用于创建新资源或更新已有资源。在objc中...

Global site tag (gtag.js) - Google Analytics