我将缓存策略设置为在Alamofire中请求忽略本地缓存.
然后我加载一个带有网络连接的viewcontroller,然后我断开网络连接,杀死应用程序并再次运行它.
现在没有显示网络可用错误(即alamofire没有创建nserror对象),而app运行就像请求成功从缓存中获取数据一样明显.奇怪的是当我尝试使用高速缓存数据检查时
NSURLCache.sharedURLCache().cachedResponseForRequest(request)
Run Code Online (Sandbox Code Playgroud)
如果数据来自缓存,则返回nil ..
我可以阻止缓存响应的唯一方法是执行 NSURLCache.sharedURLCache().removeAllCachedResponses()
let request = NSURLRequest(URL: NSURL(string: url)!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 100)
Alamofire.manager.request(method, request, parameters:params)
.responseJSON { (request, response, data, error) in
if let anError = error {
if anError.code == NSURLErrorNotConnectedToInternet {
UIAlertView(title: "Alert", message: "No Network Connection Available", delegate: nil, cancelButtonTitle: "ok").show()
}
} else if let data: AnyObject = data {
println(NSURLCache.sharedURLCache().cachedResponseForRequest(request))
//prints nil
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想要做的只是在网络连接不可用的情况下从缓存加载数据,例如有限的离线模式.如何做到这一点?
我创建了一个使用CGEventPost来模拟键盘的登录前代理.仅供参考我正在开发类似于teamviewer的远程控制应用程序.
键盘
CGEventRef keyEvent = CGEventCreateKeyboardEvent( NULL, keyCode, down ) ;
CGEventPost( kCGHIDEventTap, keyEvent ) ;
CFRelease( keyEvent ) ;
Run Code Online (Sandbox Code Playgroud)
老鼠
CGEventRef event = CGEventCreateMouseEvent(eventSource, eventType, mouseLocation, mouseButton );
CGEventPost(kCGHIDEventTap, event);
CFRelease(event);
Run Code Online (Sandbox Code Playgroud)
登录前启动代理
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my app label</string>
<key>LimitLoadToSessionType</key>
<string>LoginWindow</string>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>My app directory</string>
<key>ProgramArguments</key>
<array>
<string>app absolute path</string>
<string>service</string>
<string>myservice</string>
</array>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
CGEventPost不起作用,登录后我在Console日志中得到以下内容
Untrusted apps are not allowed to connect to
Window …Run Code Online (Sandbox Code Playgroud) 我想在没有用户滑动互动的情况下打开uitableviewcell后面的滑动菜单,这可能吗?
我试着调用tableView:editActionsForRowAtIndexPath:但没有效果.
我有一个序列来训练由spacy的标记化形成的标记的模型.这是编码器和解码器.
输出是来自seq2seq模型的标记流.我想说明文本以形成自然文本.
例:
输入到Seq2Seq:一些文本
Seq2Seq的输出:这不起作用.
spacy中是否有任何API可以反转其tokenizer中规则所做的标记化?