我正在做一些尝试来尝试学习GameKit,我制作了一个简单的游戏和一个列出我的玩家比赛的界面.我正在尝试添加使用removeWithCompletionHandler:匹配方法删除游戏的功能,但我无法删除GKTurnBasedMatch似乎已进入无效状态的数据.
有问题的比赛打印:
$0 = 0x1d590d20 <GKTurnBasedMatch 0x1d590d20 id:858d8257-cc49-4060-b1d8-38c09a929e3c status:Ended message: taken:2013-03-08 18:08:47 +0000 created:2013-03-08 03:24:14 +0000
current:<GKTurnBasedParticipant 0x1d58c020 - id:G:1717956303 (local player) status:Invited outcome:None lastTurn:(null)>
participants:
<GKTurnBasedParticipant 0x1d58bc90 - id:G:1717239488 status:Done outcome:Quit lastTurn:2013-03-08 18:08:47 +0000>
<GKTurnBasedParticipant 0x1d58c020 - id:G:1717956303 (local player) status:Invited outcome:None lastTurn:(null)>
>
Run Code Online (Sandbox Code Playgroud)
这似乎表明比赛已经结束.然而,其中一个参与者的结果是:无,我被相信的文档所引导,对于已结束的游戏无效.试图简单地删除游戏给出:
无法完成请求的操作,因为一个或多个参数无效.
在尝试设置结果并结束游戏时给出:
由于会话处于无效状态,因此无法完成请求的操作.
我想也许是因为本土球员是积极的参与者我不能删除游戏,但两者participantQuitInTurnWithOutcome:...并endTurnWithNextParticipants:...都给出了错误:
由于会话处于无效状态,因此无法完成请求的操作.
同样.我做错了什么或者我以某种方式创造了一个不可移动的游戏?
PS我也无法通过游戏中心提供的界面删除游戏,它们列在"游戏结束"部分下.
嘿,我有一些造型要做,但我不知道如何使用常规的CSS没有js.
我的HTML是这样的:
<div class="book">
<span class="title">Snow Crash</span>
<span class="author">Neal Stephenson</span>
</div>
我的css是这样的:
div.book span.title { color: black; }
div.book span.author { color: gray; }
div.book:hover { color: orange; }
我希望每当div悬停时,作者和标题都是橙色,即使我已经将它们设置为不同的颜色.跨度不会从div继承color属性,因为它们具有自己的颜色集,并且除非将鼠标悬停在跨度上,否则跨度的悬停不会激活.我可以不使用javascript执行此操作吗?
我ulong用一个私有数据成员编写了一个简单的包装器.我希望能够将包装器转换ulong为检索数据.我希望强制转换uint和丢失数据是非法的,所以我没有写一个显式的强制转换uint.当C#允许我uint毫无怨言地投射并且即使高位丢失也没有抛出异常时,你可以想象我的惊喜.
这是我的测试代码:
class Program {
static void Main(string[] args) {
ULongWrapper a = new ULongWrapper(0xfffffffffUL);
ulong b = (ulong)a;
uint c = (uint)a;
Console.WriteLine("{0:x}", b);
Console.WriteLine("{0:x}", c);
}
}
class ULongWrapper {
private ulong data;
public ULongWrapper(ulong data) {
this.data = data;
}
public static explicit operator ulong(ULongWrapper x) {
return x.data;
}
}
Run Code Online (Sandbox Code Playgroud)
哪个印刷品:
fffffffff
ffffffff
Run Code Online (Sandbox Code Playgroud)
这似乎是不需要的行为,因为我希望强制转换uint在编译时失败!编译器使用ulong显式转换运算符,然后以某种方式隐式地将该结果转换为uint无边界检查.这是C#中的错误,如果没有,为什么?