小编zou*_*oul的帖子

如何将我的包导入分组到一个自定义包中?

通常在我编写perl程序时.我曾经包括以下包.

use strict ; 
use warnings ; 
use Data::Dumper ;
Run Code Online (Sandbox Code Playgroud)

现在,我想这样,我不会为每个程序包含所有这个包.为此,
我将在我自己的包中包含这些所有包.喜欢以下

my_packages.pm

package my_packages  ; 
{
use strict ;
use warnings ;
use Data::Dumper;
}
1;
Run Code Online (Sandbox Code Playgroud)

所以,如果我在perl程序中添加my_packages.pm,它需要拥有以上所有的包.

其实我做过这个实验.但我无法得到这些东西.这意味着当我使用my_packages时.我无法获得"使用严格,使用警告,使用Data :: Dumper"的功能.

有人帮我解决了这个问题.....

perl packages

6
推荐指数
1
解决办法
291
查看次数

检测Mic中的打击并做一些事情

我找到了这个教程,这很好,但对我不起作用!

这是代码:

- (void)listenForBlow:(NSTimer *)timer {
    [recorder updateMeters];

    const double ALPHA = 0.05;
    double peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0]));
    lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults;

    if (lowPassResults > 0.95)
        NSLog(@"Mic blow detected");
 //change the background color e.g !
}
Run Code Online (Sandbox Code Playgroud)

在控制台中向我展示这样的nslog研究(没有任何保龄球!):

2010-04-11 23:32:27.935 MicBlow[2358:207] Mic blow detected
2010-04-11 23:32:27.965 MicBlow[2358:207] Mic blow detected
2010-04-11 23:32:27.995 MicBlow[2358:207] Mic blow detected
2010-04-11 23:32:28.026 MicBlow[2358:207] Mic blow detected
2010-04-11 23:32:28.055 MicBlow[2358:207] Mic blow detected
2010-04-11 …
Run Code Online (Sandbox Code Playgroud)

iphone microphone

6
推荐指数
1
解决办法
3773
查看次数

我可以删除弹出窗口中的箭头吗?

我被要求删除弹出视图的箭头.

  1. 这违反了人机界面指南吗?
  2. 在另一个popover中显示一个popover是明智的吗?
  3. 如果它没有违反人机界面指南怎么做?

iphone ipad uipopovercontroller

6
推荐指数
3
解决办法
7088
查看次数

迷失在NSButton类型和替代图像

我想要NSButton一张图片和一张替代图片.按下按钮时应显示备用图像,我还想从代码中显示备用图像,调用类似的内容[button setSelected:YES].这可能不用手工编织alternateImage物业吗?

macos cocoa nsbutton

6
推荐指数
2
解决办法
5735
查看次数

读取视频样本的基本AVAssetReader问题

我想通过AVAssetReader读取视频样本,我遇到了各种各样的路障.可以使用应用程序包中的一个名为"Movie.m4v"的视频设置AVAsset并使用AVAssetReader循环浏览视频帧(CMSampleBufferRef).

这里有一些我现在使用的代码不起作用:

NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Movie.m4v"];
AVAsset *avAsset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:path] options:nil];
NSError *error = nil;
AVAssetReader *reader = [[AVAssetReader alloc] initWithAsset:avAsset error:&error]; // crashing right around here!

// I've gotten avassetreader to not crash upon initialization by grabbing an asset from the ALAssetsLibrary but it says it has 0 tracks!

NSArray *videoTracks = [avAsset tracksWithMediaType:AVMediaTypeVideo]; 
AVAssetTrack *videoTrack = [videoTracks objectAtIndex:0];
NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey];
AVAssetReaderTrackOutput *asset_reader_output = [[AVAssetReaderTrackOutput alloc] …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c avfoundation ios

6
推荐指数
1
解决办法
4915
查看次数

iOS中的多线程 - 如何强制线程等待条件?

我正在创建一个从数据库中获取一组结果的应用程序 - 我使用MBProgressHUD来显示带动画的查询进度.我使用的方法在另一个线程中执行方法时调用动画,一旦完成,它就会隐藏动画.我的问题是,在致电:

[HUD showWhileExecuting:@selector(getResults) onTarget:self withObject:nil animated:YES];
Run Code Online (Sandbox Code Playgroud)

我想,如果没有结果,则显示一条警告,说明这一点,如果有,则加载下一个视图.到目前为止,我有这个代码:

[HUD showWhileExecuting:@selector(getResults) onTarget:self withObject:nil animated:YES];

if(self.thereAreEvents) {
    [self performSegueWithIdentifier:@"searchResults" sender:self];
} else {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No results" message:@"Sorry, there are no results for your search. Please try again." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}
Run Code Online (Sandbox Code Playgroud)

self.thereAreEventsgetResults方法结束时设置.但是,由于该方法在另一个线程中被调用,因此即使数据库中存在事件,该执行行也会继续并显示警报.

所以,从这里开始,我有两个问题:在iOS中实现等待信号机制的最简单方法是什么?在iOS中实现这种机制的最有效方法是什么?

谢谢!

iphone multithreading cocoa-touch ios

6
推荐指数
2
解决办法
1万
查看次数

如何在后台运行Plack请求处理程序?

我有一个简单的Plack应用程序(类似于Plack :: App :: GitHub :: WebHook),我运行它plackup.我在请求处理程序中执行了一个冗长的操作,该操作程序当前使应用程序对后续请求没有响应,直到操作完成.如何在不阻止其他请求的情况下在后台执行操作?还有一个后续问题,我怎样才能最多保留一个在后台队列中运行的作业?

我习惯了libdispatch,所以我喜欢这样的东西:

my $queue = Hypothetical::Concurrency::Queue->new(max_jobs => 1);
$queue->dispatch(sub {
    # code
});
Run Code Online (Sandbox Code Playgroud)

perl multithreading plack

6
推荐指数
1
解决办法
282
查看次数

CloudKit是强烈一致的,还是最终一致的?

官方文档是否在某处讨论有关CloudKit的一致性?根据我的测试,它似乎最终是一致的 - 在写完之后立即读取记录可能有用而且可能不会(返回空结果):

CKDatabase *database = [[CKContainer defaultContainer] publicCloudDatabase];
CKRecord *record = [[CKRecord alloc] initWithRecordType:@"Foo"];

dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
[database saveRecord:record completionHandler:^(CKRecord *record, NSError *error) {
    CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Foo" predicate:[NSPredicate predicateWithFormat:@"TRUEPREDICATE"]];
    [database performQuery:query inZoneWithID:nil completionHandler:^(NSArray *results, NSError *error) {
        XCTAssertEqualObjects(results, @[], @"Freshly written object not returned by query."); // succeeds
        dispatch_semaphore_signal(semaphore);
    }];
}];

dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
Run Code Online (Sandbox Code Playgroud)

有没有办法强制强烈一致的读取,以反映所有以前的更新?

eventual-consistency cloudkit

6
推荐指数
2
解决办法
406
查看次数

在测试中运行CloudKit代码?

我想使用XCTest框架为我的CloudKit代码编写自动化测试.测试用例运行,获取一个有效的容器对象,获取一个有效的公共数据库对象,但当我尝试做任何真实的事情时,它会因异常而死:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
    reason: 'Failed to establish valid container/bundleID information'
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试了什么:

  • 我已经检查了Info.plist我的测试目标,并且那里的包ID对应于容器ID.
  • 我已经调整[[NSBundle mainBundle] bundleIdentifier]以确保它返回正确的包ID.
  • 我已从主应用程序的目标中复制了iCloud权利.

但我仍然得到例外.有没有办法让CloudKit代码在测试中运行?

testing ios cloudkit

6
推荐指数
1
解决办法
1029
查看次数

创建iOS框架时如何解决类名冲突?

我正在编写一个Foo依赖于静态第三方库的 iOS 框架,Lib并且在正确链接时遇到问题。

如果Foo是静态库,我不会将它Lib链接到 ,而只会将主项目链接到它们两个。但是这种方法似乎不适用于框架:链接器抱怨缺少来自Lib.

所以我采取了另一种方法并链接FooLib. 现在链接器很高兴,但有一个明显的问题:如果主项目使用Lib出于自己的原因使用并且链接到FooLib,我会得到重复的符号:

Class <Something> is implemented in both <Here> and <There>.
One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)

我知道我可以停止链接该应用程序Lib,一切都会好起来的,但我想把事情做好。如何?

xcode linker frameworks ios

6
推荐指数
1
解决办法
1372
查看次数