函数返回值为枚举类型引起的错误

问题描述:
今天,做Denizen联手拼图iPad版,- (PlateOrientation)orientationRight读取属性函数中的return [self convertAngleToOrientation:_angleRight];报错:error: incompatible types in return

问题分析:
拆分 return [self convertAngleToOrientation:_angleRight];变为:
PlateOrientation orientation=[self convertAngleToOrientation:_angleRight];
return  orientation;
继续报错: error: incompatible types in assignment
原来问题出在 [self convertAngleToOrientation:_angleRight]上,这个应该返回enum的函数,用枚举接受其值却报错。

问题解决:
enum总是uint的,先用uint接住再转成enum:
uint uintOrientation=[self convertAngleToOrientation:_angleRight];
PlateOrientation orientation=uintOrientation;
return orientation;

PS:调用函数原型:
- (PlateOrientation)convertAngleToOrientation: (uint)vAngle

《货币战争》

“只要我能控制一个国家的货币发行,我不在乎谁制订法律。”---梅耶·罗斯柴尔德

“列宁曾说过,颠覆资本主义制度最好的方法就是使其货币贬值。通过连续的通货膨胀过程,政府可以秘密地,不为人知地没收公民财富的一部分。用这种方法可以任意剥夺人民的财富,在使多数人贫穷的过程中,却使少数人暴富。”

“发动战争远比结束战争要困难得多。”---丘吉尔

“战争是使社会稳定的一种特殊方式。”

“纽约人能发行美元纸币,但只有上帝才能发行石油和黄金。”

“世界上有三种谎言:谎言、该死的谎言和统计数字。”---马克·吐温

“一切霸权的力量源泉和最终形式都体现于定价权,通过控制价格的过程来实现有利于己而不利于人的财富分配方式。”

“财富从来就是自动流向能保护并能使之升值的地方。”

“在一个商品社会里,没有会对金钱具有‘免疫力’。”

“通货膨胀将产生两大重要后果,一是货币购买力下降,二是财富重新分配。”

“债务创造货币,货币刺激贪婪,贪婪加重债务,债务发生内爆,内爆触发紧缩,紧缩导致衰退!”

跨SWF安全沙箱引起的类型转换问题

问题描述:
今天做Denizen Hello,用的是Gaia框架,LoadingPage调用IndexPage中的MapPainter类型的对象出现如下错误:
TypeError: Error #1034: 强制转换类型失败:无法将 com.couldhll.bitmaptext::MapPainter@24f793a1 转换为 com.couldhll.bitmaptext.MapPainter。

问题分析:
检查LoadingPage和IndexPage中的类型,确认都是com.couldhll.bitmaptext.MapPainter类型。
但是IndexPage中是MapPainter@24f793a1类型,而LoadingPage中是MapPainter类型。
开始怀疑IndexPage中有问题,但是无果。偶尔在Main.as中使用MapPainter类型的对象后,一切正常。

问题解决:
其实我们都知道Loader.load()后面一个参数是安全命名空间参数,要设置成:SecurityDomain.currentDomain。
在Gaia中,可以在site.xml中为page设定domain="current"。
本例如下:
<?xml version="1.0" encoding="UTF-8"?>
<site title="Hello" menu="true">
    <page id="index" src="index.swf" domain="current" >
        <page id="nav" src="nav.swf" depth="top" domain="current" >
            <page id="loading" title="Loading" src="loading.swf" menu="true" domain="current" />
   <page id="home" title="Home" src="home.swf" menu="true" domain="current" />
        </page>
    </page>
</site>