在Android中使用Log时的处理:
Integer i = null;
try {
Log.v("abc == " + i.intValue());
} catch (Exception e) {
// 此处会引发新的异常:“java.lang.NullPointerException: println needs a message”,因为Android不支持消息内容为null.所以不能这样使用,需注意。
Log.e("MainActivity", e.getMessage());
}
holydancer原创,如需转载,请在显要位置注明:
转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7347399
在objective c中,如果细心的话会发现,每个类中都会自动生成一个class 类型的isa,
isa是什么,class又是什么呢,找到Class的定义我们会发现如下:
而objc_class以前的定义又如下,现在据说被封闭了,不知道有没有再作修改,总之方便我们理解就好:
于是我们就有了点头绪了,isa,is a pointer,是个指针(根据网上的资料,这样理解是最贴近事实的,不管你们信不信,反正我是信了),每个类都有一个class类型的指针isa,继承自NSObject中,继承关系,方法变量等信息都存放在isa中,isa作为一个隐藏的属性,会自动生成于每个类之中。有了这个前提,也就可以解释为什么我们可以根据@class来代替任意一个类了,看代码:
Human.h
Human.m
main.h
class可以灵活的代替别的类,SEL与其类似,不同的是SEL代替的是方法,可以方便的代替其他方法,class中是因为有isa属性保存有类的信息,而SEL是因为即使是在不同的类中,方法名只要相同,这两个方法的ID就相同,SEL就是根据这个ID来找到该方法,再根据调用该方法的类的不同来找到唯一的地址。看代码再作解释:
结果如下:
通过以上代码我们会发现,SEL通过方法名绑定后,可以被多个类实例调用,找了些网上的资料,解释都是说方法名一样的话,ID会一样,地址仍不同,才会实现这样的效果,我们不谈论是否准确,但我个人认为这是目前最合理的解释。这种用法的优势一方面是灵活性更高,类似于多态,另一方面是,这种用法sel找方法时匹配的是ID而不是字符串方法名,所以在效率上会高一些。还有一种更终极的方法,直接对应方法的地址,这种方法效率最高,请看代码:
输出语句:
今天这些内容不太好理解,我用自己理解的方式给大家再解释一遍,class用于代替类,增加灵活性,因为我们不知道什么时候会用到什么类,方法也是如此,所以SEL可以代替方法,每个方法有方法名,ID,地址,相同的方法名,ID也一样,正常情况下我们根据方法名找到方法,用SEL方法可以根据ID找到方法,而用IMP方式可以直接找到地址,但是灵活性不如SEL方法,虽然效率最高。好了,今天到此为止。
关键字:objective-c ,objective c , oc ,@class, SEL ,selector ,IMP
对于中早期的企业来说,创始人在公司成长过程中扮演着很多角色,最重要的角色通常是决策者,当公司面临这样那样的问题时,创始人来决定一个团队的力量往哪用,怎么用,带领团队同舟共济,渡过难关。我们可以说创始人对公司的控制权决定着公司发展的方向和成长速度。
对于具有快速成长潜力的企业来说,合适的投资人加入是让企业加速腾飞的强劲动力,但投资人作为公司股东进入公司之后,创始人如何平衡和投资人之间的权利的分配,如何在融资之后还对公司具有强有力的控制权,有时候取决于创始人在企业成立之初的各种决策,也取决于融资谈判过程中与投资人的各种约定。
同时,对于联合创始人而言,可能损失部分当期工资收益,股权是其长期收益的保障,是调动其工作积极性的有效方式。
“传统投资”模式我们可以理解为股东出钱,按现有公司出资比例持股,以获得公司分红为目的,创始人控制权受投资人占股比例影响;“创投模式”是投资人出大钱占小股,以公司股票巨额增值溢价转让为目的,公司创始人仍然是公司大股东,对公司具有控制权。
比如一个创业者成立一家互联网公司,注册资本50万人民币。“传统投资”,投资人投入50万,占股50%,每年分得利润的50%。
“创投模式”,投资人投入100万,会按照公司固定资产、商誉、业务模式创新、创始团队的管理才能等来估值,如果公司估值800万,则投资人占股12.5%。投资人的收益具有风险性,如果公司经营的好,3年后公司估值达到1亿人民币,投资人股权值1250万,翻了12.5倍。
基于“创投模式”的公司控制权主要是对创始人来说的,由于投资人进入而丧失对公司的控制权其实损害的是创业者和投资人双方的利益,如何保护创始人对公司的控制权呢?主要有三个方面:
1. 公司初始股权结构的设计
创业之初,如果只有一个股东,即可成立一人有限责任公司,100%拥有股权。如果是2个或以上股东一起成立有限责任公司,2人持股比例尽量避免 50%:50%,3人尽量避免33%:33%:34%。2名以上股东的公司,要对公司具有绝对的控制权,那么持股比例需要超过2/3。
2. 融资过程中的股权结构设计
如果您迫不及待的想了解融资过程中股权结构设计,那您是否正准备融资,或者正接受融资呢?不论是第几轮融资,相对其他因素来说融资期间的股权结构变化是对公司控制权影响最大的,因为融资协议规定的事项,不但涉及本轮融资之后权利的变化,还涉及下一轮融资,投资人,创始人退出的权利安排。注:如果您的公司在成立之初的股权比例就有问题,那需要创始人之间调整好之后再谈融资计划。
如图三我们所看到的,为什么不建议50%:40%:5%:5%的比例呢?公司的决策权看似飘忽不定,5%的持股者的支持将会成为50%和40% 的被拉拢对象,不利于公司决定权的稳定性。如果40%的持股者是投资人的话,一旦出现决策与创业者不和,他股权占比超过1/3有可能使创业者无法推进任何公司重大决策。
3. 选择适合的保护控制权的法律条款设计
公司经营的好,队伍不断发展壮大,除了创始人和投资人之外,当然还有高管和员工。如何吸引优秀的人加入创业公司,调动大家工作的积极性,股权或者期权的激励机制是非常好的方式。创始人在这时往往会想建立股权期权的同时,如何让公司的控制权还牢牢的掌握在自己手里?建立期权池并通过合理的制度设计也可能会起到产生强化创始人对公司控制权的作用。
期权、受限制、代持、持股公司
一致行动计划
牛卡计划(适用于境外结构企业)
在此给创业者提个醒,不论是什么阶段的公司,融资、股权激励和期权激励在法律上是非常专业的部分,要选择专注于此领域的律所,必须是从业经验丰富的律师来操刀,这有点像医生,要是病没治好还弄出了癌,后悔药没地吃。
本文根据华哥自话改编,在此多谢华哥贡献。