以下代码的结果不同如果它在后台启动调试器或没有调试器.如果开启优化,那么差异就在那里.
这是结果:
- >与优化:1000 2008 3016 1001 2009 3007 ...
- >无优化(如预期)1000 1008 1016 1001 1009 1017 ...
码:
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace OptimizerTest
{
public class Test
{
int dummy;
public void TestFunction(int stepWidth)
// stepWidth must be a parameter
{
for (int step = 0; step < stepWidth; step++)
{
dummy = step + 1000;
// addition with constant ( same value as later !)
for (int x = 0; x < 20; x += …Run Code Online (Sandbox Code Playgroud) 我刚刚花了很长时间在NSURLCache上大喊大叫,所以我提供了一些建议,希望别人可以避免我的不幸.
这一切都开始得相当合理.我的新应用程序项目仅针对iOS 5及更高版本,因此我认为我可以利用新的NSURLCache实现来满足我的所有Web缓存需求.我需要NSURLCache的自定义子类来处理一些特殊任务,但API似乎都有所帮助.快速阅读文档,我即将参加比赛:
[NSURLCache setSharedURLCache:[[MyCustomCache alloc] initWithMemoryCapacity:8 * 1024 * 1024 //8mb
diskCapacity:32 * 1024 * 1024 // 32mb
diskPath:@"webcache.db"]];
Run Code Online (Sandbox Code Playgroud)
我认为8mb缓存可以启动,我会用更大的磁盘缓存来支持它,这样我们就可以在本地提供更多更大的图像.我将我的网络代码的其余部分连接起来使用NSURLConnection(实际上,我使用的是MKNetworkKit,但事实证明这是无关紧要的),并期待我的缓存中有很多东西.果然,所有应该缓存的请求都会尽职尽责地保存到缓存中,并且当缓存中提供响应时,响应会尽快快速地返回.这是Penrance of Penzance的常规制作,在我的网络堆栈中飞来飞去.
除非有些东西没有加起来.可以从缓存提供的请求仍然通过网络传出.除非他们不是.高速缓存是否实际用于提供请求似乎完全随机且间歇性.我沮丧地撕掉了我的头发,并在字面上挖掘所有试图找出正在发生的事情.我构建测试应用程序,在整个地方设置断点,撕掉数据包跟踪,读取互联网上提到NSURLCache的每个单词,试验缓存控制标题,注释掉代码,绕过我的子类,甚至通过艰苦追踪为NSURLCache及其CFNetworking朋友组装,试图了解下面的神秘逻辑.我大量提高了我对ARM和Objective-C调用约定的知识,并对低级调试有了一些了解,但实际上无法弄清楚发生了什么.整个事情感觉更像是Iolanthe的梦魇之歌,而不是海盗王的良性独裁,而我几乎已经把它扔掉了.
TL/DR版本:NSURLCache似乎正在工作,但即使它们可用,也会随机返回缓存的结果.
我想在网站上添加一个"推特"按钮.很简单吧?问题是该网站是在一个不特别处理弹出窗口的嵌入式平台上运行的,所以我试图在页面内部做所有事情.
我能够成功创建我的推文按钮,附加一个onClick处理程序,并为相关内容构建一个正确的twitter.com/share URL.当我在window.open的新窗口中打开该URL时,一切正常.但是,如果我尝试在iframe中打开URL,则框架内不会加载任何内容.甚至将http://twitter.com加载到iframe中也会以同样的方式失败.但是,加载Google或任何其他网站似乎工作正常.
对我在这里缺少什么的想法?谢谢!--zach
编辑:是的 ,他们正在检测负载上的iframe并消隐页面:
if (window.top !== window.self) {
document.write = "";
window.top.location = window.self.location;
setTimeout(function(){ document.body.innerHTML='';},1);
window.self.onload=function(evt){document.body.innerHTML='';};
Run Code Online (Sandbox Code Playgroud)
}
任何合理的解决方法,或者我是不是通过oauth编写自己的auth管道?我不需要他们的API中的任何内容,只需让用户发送他们自己的帐户.
我正在寻找开发一个包含可拖放界面元素的iOS应用程序,但是使用Keynote或OmniGraffle或Interface Builder中的对齐指南(Keynote中的黄色线条),这样当你将某些东西拖到足够垂直或水平对齐的位置时使用画布中的另一个对象,它会显示一条引导线并自动捕捉到对齐方式.
到目前为止,我还没有找到任何已发布的API来实现这一点.这样的事情存在于何处?谷歌成功的概念有点困难.如果没有,任何关于我自己滚动的指针都会带来最小的痛苦?