通常在我编写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"的功能.
有人帮我解决了这个问题.....
我找到了这个教程,这很好,但对我不起作用!
这是代码:
- (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) 我被要求删除弹出视图的箭头.
我想要NSButton一张图片和一张替代图片.按下按钮时应显示备用图像,我还想从代码中显示备用图像,调用类似的内容[button setSelected:YES].这可能不用手工编织alternateImage物业吗?
我想通过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) 我正在创建一个从数据库中获取一组结果的应用程序 - 我使用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.thereAreEvents在getResults方法结束时设置.但是,由于该方法在另一个线程中被调用,因此即使数据库中存在事件,该执行行也会继续并显示警报.
所以,从这里开始,我有两个问题:在iOS中实现等待信号机制的最简单方法是什么?在iOS中实现这种机制的最有效方法是什么?
谢谢!
我有一个简单的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) 官方文档是否在某处讨论有关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)
有没有办法强制强烈一致的读取,以反映所有以前的更新?
我想使用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.但我仍然得到例外.有没有办法让CloudKit代码在测试中运行?
我正在编写一个Foo依赖于静态第三方库的 iOS 框架,Lib并且在正确链接时遇到问题。
如果Foo是静态库,我不会将它Lib链接到 ,而只会将主项目链接到它们两个。但是这种方法似乎不适用于框架:链接器抱怨缺少来自Lib.
所以我采取了另一种方法并链接Foo到Lib. 现在链接器很高兴,但有一个明显的问题:如果主项目使用Lib出于自己的原因使用并且链接到Foo和Lib,我会得到重复的符号:
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,一切都会好起来的,但我想把事情做好。如何?
ios ×4
iphone ×4
cloudkit ×2
cocoa-touch ×2
perl ×2
avfoundation ×1
cocoa ×1
frameworks ×1
ipad ×1
linker ×1
macos ×1
microphone ×1
nsbutton ×1
objective-c ×1
packages ×1
plack ×1
testing ×1
xcode ×1