札记

来源:互联网 发布:艾瑞数据排名 编辑:程序博客网 时间:2024/05/02 01:12

各位亲 有时间可以去看看我的  “金骏家居淘宝店” http://jinjun1688.taobao.com/shop/view_shop.htm?tracelog=twddp 买时说明在我的博客看到有优惠哦 还有意外礼品赠送  真正的程序员淘宝店

option optimize_for = LITE_RUNTIME;

 由于我们在mymessage文件中的定义选项optimize_for的值为LITE_RUNTIME,因此由该.ptroto文件生成的所有C++类的父类均为::google::protobuf::MessageLite,而非::google::protobuf::Message

序列化的两步:1)使用数据填充数据结构,无论数据源来自文件还是内存还是标准输入

           2)利用Lib提供的序列化接口将数据结构序列化,然后存储在内存或者磁盘上。

C++ 中,我们通过.运算符来访问成员变量,如aClass.memberVar = 1; 但是在Objective-C中,我们必须实现setter和getter函数才能访问和修改成员变量(如void setMemberVar(int i)和int getMemberVar() )。为了简化编码,Objective-C提供了关键词@property,它告诉编译器为我们生成getter和setter函数。在@property后面,紧跟着一些属性,编译器根据这些属性,为getter和setter生成不同的代码。


1)nonatomic: 在默认情况下,编译器生成getter和setter函数的时候,会添加一些其他代码(主要是考虑到多线程的程序)。这里,我们不需要这些额外的代码,关键词nonatomic就是告诉编译器不要添加这些代码。

2)retain: 在默认情况下,编译器以assign的方式生成setter。而retain则告诉编译器,在生成setter函数的时候,需要调用setter参数的retain方法。



(1) 在初始化UITableView的时候必须实现UITableView的是,在.h文件中要继承UITableViewDelegate和 UITableViewDataSource,并实现3个UITableView数据源方法和设置它的delegate为self,这个是在不直接继承 UITableViewController实现的方法。

(2) 直接在XCODE生成项目的时候继承UITableViewController的,它会帮你自动写好UITableView必须要实现的方法。


类声明总是由@interface编译选项开始,由@end编译选项结束。类名之后的(用冒号分隔的)是父类的名字。


声明由一个减号(-)开始,这表明这是一个实例方法

消息被中括号( [ 和 ] )包括。中括号中间,接收消息的对象在左边,消息(包括消息需要的任何参数)在右边。


与实例方法使用减号作为方法类型标识符不同,类方法使用加号( + )。


  属性声明应该放在类接口的方法声明那里。基本的定义使用@property编译选项,紧跟着类型信息和属性的名字。



View主要分为以下两种:

  •  Plain:这是普通的列表风格
  •  Grouped :这是分块风格。

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

机制

⑴定义一个回调函数;
⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;
⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。

原创粉丝点击