你怎么用silverlight播放视频?
Visual Studio是否内置了视频播放器组件?还是我需要制作视频播放器?
我想知道是否有人可以解释为什么新创建的托管对象的保留计数为2.这是我正在使用的代码:
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
Album *newAlbum = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
NSLog(@"Album retain count: %d", [newAlbum retainCount]);
Run Code Online (Sandbox Code Playgroud)
根据该insertNewObjectForEntity方法的文档,它返回一个新创建的自动释放对象.所以我希望保留计数为1而不是2.有人能解释一下吗?
在尝试取消NSOperationQueue中的请求时,我真的很难过.
重新分配我的"发动机"对象之前,我称之为cancelOperations方法来取消队列中的一切,所以这将包括在飞行ASIHTTPRequests和排队的...如
Engine.m
-(void)getContent {
if (![self queue]) {
[self setQueue:[[[NSOperationQueue alloc] init] autorelease]];
}
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[[self queue] addOperation:request]; //queue is an NSOperationQueue
}
-(void)requestDone:(ASIHTTPRequest)*request {
// Do something with request
}
-(void)cancelOperations {
[self.queue cancelAllOperations];
[self.queue waitUntilAllOperationsAreFinished];
}
-(void)dealloc {
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
现在,在我的引擎中,我有许多getContent类型的方法,所以我的队列中有不同的请求对象.使用Engine对象时的流程是:
1)打开视图控制器-视图没有负载- alloc和初始化引擎对象
2)//调用各种风格的getContent方法排队一些操作
3)在视图出口,调用[发动机cancelOperations]; 为了(a)停止在飞行中的任何网络的请求,并且还清空队列
4)解除分配图,并且与该发动机:发动机释放];
如果所有的请求都在队列中完成(因为它是空的)这工作得很好,但是如果我cancelOperations同时请求被激活,应用程序崩溃与一个EXC_BAD_ACCESS错误......但毕竟发动机成功地释放......
任何想法为什么会这样?
--EDIT--为错误添加Backtrace:
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000b0000000
Crashed Thread: 0 Dispatch …Run Code Online (Sandbox Code Playgroud) 我在使用event_()循环和使用ob_start()和ob_get_clean()循环内部时遇到问题.
这是我的功能:
protected function renderEmail() {
$template = $this->_case.".php";
if(is_file($this->_dir.DS.$template)) {
ob_start();
if(!empty($this->_records)) {
foreach($this->_records as $key => $value) {
${$key} = $value;
}
}
require_once($this->_dir.DS.$template);
return ob_get_clean();
} else {
$this->_errors[] = "Email template not found";
return false;
} }
Run Code Online (Sandbox Code Playgroud)
此功能基本上生成电子邮件的内容,然后返回它.
我遇到的问题是当我遍历多个电子邮件地址 - 发送相同的电子邮件内容时 - 只有第一个返回内容 - 以下是空白 - 任何想法为什么?
我已经设置了一个UIView,并在视图的图层中添加了几个CALayers作为子图层.甚至可以随着视图调整子图层的大小吗?当我通过设置新帧来调整图层大小时,只有视图的图层会获得新的大小,而不是子图层.我将图层的setNeedsDisplayOnBoundsChange设置为true,将contentsGravity设置为kCAGravityResizeAspect,但到目前为止没有任何帮助.我错过了很明显的东西吗?
谢谢,亲切的问候,汉斯
以下代码行在Silverlight中的Chrome和Firefox下抛出ArgumentNullException.我正在使用HttpWebRequest将文件发布到服务器.IE中不会发生异常,只有在我上传较大的文件(5mb)时才会发生.在IE下它工作得很好.我没有在文档中看到为什么代码会抛出此异常的任何原因.
//note that asyncResult is not null
response = (HttpWebResponse)request.EndGetResponse(asyncResult);
Run Code Online (Sandbox Code Playgroud)
以下是异常的堆栈跟踪:
at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState)
Run Code Online (Sandbox Code Playgroud)
内部异常:
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at DC.FileUpload.FileUpload.<>c__DisplayClassc.<UploadFileEx>b__a(IAsyncResult asyncResult)
Run Code Online (Sandbox Code Playgroud) 在gcc 4.5中,在调用函数时,堆栈必须与16字节边界对齐(以前的版本只需要4字节对齐).
对于32位机器,4字节是合理的.16字节很容易通过"和0xfffffff0,%esp"对齐.
但它可能比4字节边界花费更多的内存,不是吗?简而言之,我的问题是为什么gcc 4.5默认为16字节?它有价值吗?
非常感谢!
我正在尝试使用游戏中心:多人游戏
到目前为止,玩家正在认证游戏中心,他们可以发送/读取分数和成就.对于多人游戏功能,我尝试了两种方法: - 使用游戏中心界面查找匹配项. - 以编程方式查找匹配项.
对于这两种方式,我有以下问题:匹配委托的匹配:player:didChangeState:方法未被调用.在apple docs中,声明如果一个玩家连接或断开连接,则会调用该委托.
在我的情况下,这个委托永远不会被调用.我想我错过了一步.在我的委托实施后(如Apple doc中所述).
- (void)match:(GKMatch *)match player:(NSString *)playerID didChangeState:(GKPlayerConnectionState)state
{
switch (state)
{
case GKPlayerStateConnected:
// handle a new player connection.
break;
case GKPlayerStateDisconnected:
// a player just disconnected.
break;
}
if (!self.matchStarted && match.expectedPlayerCount == 0)
{
self.matchStarted = YES;
// handle initial match negotiation.
}
}
Run Code Online (Sandbox Code Playgroud)
以及找到匹配的代码.
-(void) findProgrammaticMatch
{
GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
request.minPlayers = 2;
request.maxPlayers = 2;
[[GKMatchmaker sharedMatchmaker] findMatchForRequest:request
withCompletionHandler:^(GKMatch *FoundMatch, NSError *error)
{ …Run Code Online (Sandbox Code Playgroud) 我有一个特定的UI元素,点击它时应该导航到另一个URL.我尝试处理鼠标按下事件并执行如下操作:System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://google.com"),"_ blank");
但是,除非我禁用弹出窗口拦截器,否则浏览器会阻止它(我尝试使用Chrome和Firefox).我做了一些研究,似乎浏览器阻止了由于用户交互而不会发生的导航,并且就浏览器而言,这个导航是由插件(Silverlight)而不是用户发起的.
好的,有道理.但后来我尝试使用HyperlinkButton而不是阻止它.
我想知道为什么这两种方法从浏览器中得到不同的处理.任何的想法?
我实际上通过使用HyperLinkButton包装导航触发UI来解决这个问题,但我仍然非常好奇......
有没有办法从Silverlight获取代码覆盖率?到目前为止,这是不可能的.我希望有新的Visual Studio 2010 Service Pack或Silverlight 5出现,可能有办法.
silverlight ×4
ios ×2
iphone ×2
objective-c ×2
.net ×1
c# ×1
calayer ×1
core-data ×1
delegates ×1
game-center ×1
gcc ×1
multiplayer ×1
navigation ×1
ob-start ×1
php ×1
video ×1