我只是想从使用Swift的ios 8中的ALAsset获取图像资源.
我使用SNImagePicker进行多个图像拾取.
使用objective-c我使用:
for (int i = 0; i < info.count; i++) {
ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];
[assetLibrary assetForURL:info[i] resultBlock:^(ALAsset *asset) {
UIImage *image = [UIImage imageWithCGImage:[asset aspectRatioThumbnail]];
} failureBlock:^(NSError *error) { }];
Run Code Online (Sandbox Code Playgroud)
有了swift,我试着这样做:
func imagePicker(imagePicker: SNImagePickerNC!, didFinishPickingWithMediaInfo info: NSMutableArray!){
var i: Int = Int(0);
for (i; i < info.count as Int; i++){
var url: NSURL = info[i] as NSURL
var assetLibrary: ALAssetsLibrary = ALAssetsLibrary()
//
//assetLibrary.assetForURL(NSURL?(), resultBlock: ALAssetsLibraryAssetForURLResultBlock?(), failureBlock: ALAssetsLibraryAccessFailureBlock?())
//
assetLibrary.assetForURL(url, resultBlock: {
(asset: ALAsset!) in
if …Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的测试应用程序来学习如何使用NSURLSession.此应用程序必须从Web服务下载图像并将其显示为UITableView.我已经编写了应用程序的第一部分,它从Web服务中读取了一个图像URL列表,现在,我想显示这个列表.
我的疑问是:
鉴于图像列表可能是一个非常长的列表,是否可以NSURLSessionDownloadTask为每个图像创建一个?我想在cellForRowAtIndexPath函数中创建会话并将NSURLSessions存储在NSDictionary中作为IndexPath单元格的关键(并且可能依赖于NSURLCache避免多次下载相同的图像).
其他方案:
我可以看到另外三种解决方案:
使用GCD与dispatch_async
对NSOperation进行子类化并基本上存储NSOperation我需要下载的任何图像.
使用像第三方库AFNetwork...但由于它是一个学习目的的应用程序,我更喜欢完全使用我的代码.
如果多个NSURLSession不是一个好的解决方案,我会选择其中一个选项.
您如何看待这种方法?
我正在将流媒体音频引擎迁移到swift.我发现很难在swift中使用C Audio API.
我有一个AudioFileStreamOpen api的问题,它需要2个C函数作为参数.我不知道如何使用这个API很快.
AudioFileStreamOpen(self as UnsafePointer<()>, propertyProc, packetProc, kAudioFileMP3Type, audioStreamId)
Run Code Online (Sandbox Code Playgroud)
我为此API定义了如下的回调方法.但我得到编译错误.
func propertyProc(inClientData: UnsafePointer<()>,inFileStreamId: AudioFileStreamID,inPropertyId: AudioFileStreamPropertyID,ioFlags: UnsafePointer<UInt32>) -> Void {
.....
}
func packetProc(inClientData: UnsafePointer<()>,inNumberOfBytes: UInt32,inNumberOfPackets: UInt32, ConstUnsafePointer<()>, inPacketDescriptions: UnsafePointer<AudioStreamPacketDescription>) -> Void {
.....
}
Run Code Online (Sandbox Code Playgroud)
感谢您在swift中正确定义此C API
