小编Dan*_*lea的帖子

AFNetworking检查可用性

我已经实现了AFNetworking没有子类化AFHTTPClient,部分使用我的以下代码DownloadQueueManager:

-(void)downloadPodcastAt:(NSString *)url toPath:(NSString *)path
{
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]
                                             cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                         timeoutInterval:60.0];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

    operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
    {
        [self saveQueuedItemInformation];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error)
    {
        // Other stuff
    }];

    [operation start];
}
Run Code Online (Sandbox Code Playgroud)

我的问题是多方面的.我用google搜索"我的手指麻木了,还没有找到一个像样的代码样本,它可以简单轻松地检查可达性状态AFNetworking.(奇怪的是,有很多关于进口的讨论SystemConfiguration.framework,这看起来很简单).因此,如果我的用户想要最小化他们的数据使用,并且只使用wifi下载,我该如何检查wifi,并且只有在wifi可用时才下载?

其次,它似乎AFNetworking想成为一个用户友好的前端.但我实际上可以在这个前端使用前端,因为那里有很多东西,人们不得不通过它来获得所需的东西.我只需要访问一个url,下载一个xml文件(基于可达性),并用它做一些事情.我错过了一些让这项任务变得简单的事情吗?

当我理解这一点时,我完全建立了一个前端或五个来简化实现(假设我不仅仅是一个白痴).提前感谢您的回复.

reachability ios afnetworking ios6

19
推荐指数
3
解决办法
3万
查看次数

NSURLSession和后台流上传

我在使用NSURLSession资源库中的照片上传到服务器时遇到了一些问题.

起初NSURLSession不支持流式上传.我试图使用它时遇到异常:

@property (nonatomic, strong) NSURLSession *uploadSession;

...

_uploadSession = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration
                backgroundSessionConfiguration:kUploadBackgroundURLSessionIdentifier] delegate:self delegateQueue:nil];

...

NSURLSessionUploadTask *task = [self.uploadSession uploadTaskWithStreamedRequest:URLRequest];
Run Code Online (Sandbox Code Playgroud)

这是一个例外:

Terminating app due to uncaught exception 'NSGenericException', reason: 'Upload tasks in background sessions must be from a file'
Run Code Online (Sandbox Code Playgroud)

这真的很奇怪,因为Apple的手册不包含任何仅uploadTaskWithRequest:fromFile:用于后台会话的信息.如果我想从资源库上传真正庞大的视频文件怎么办?我应该先将它保存到我的tmp目录吗?

看起来唯一的理由就是使用uploadTaskWithRequest:fromFile:,对吗?但是我有一个问题,如果上传过程被中断并开始在后台上传下一部分,服务器如何知道该文件的哪一部分正在上传?

我应该为此管理一些事情吗?以前我在URL请求中使用了Content-Range,如果我想继续上传之前启动的文件的一部分.现在我不能这样做 - 我必须在创建上传任务之前创建一个URL请求,并且看起来NSURLSession必须自动为我做这样的事情?

有没有人做过这样的事情?谢谢

background uploading ios alassetslibrary nsurlsession

9
推荐指数
1
解决办法
5421
查看次数

如何在 Flask-SqlAlchemy 中使用子查询?

query_1 = db\\\n    .Query([UserModel, func.count(FriendModel.friend_id)])\\\n    .select_from(UserModel)\\\n    .outerjoin(FriendModel, and_(UserModel.id==FriendModel.user_id))\\\n    .group_by(FriendModel.user_id)\n  s_1 = query_1.subquery(\'s_1\')\n  print s_1.c.id\n  query_2 = db\\\n    .Query(FriendModel)\\\n    .select_from(FriendModel)\\\n    .outerjoin(s_1, FriendModel.user_id==s_1.c.id)\n
Run Code Online (Sandbox Code Playgroud)\n\n

帮助将两个查询放在一起。\n https://gist.github.com/vlikin/17d53440eeef7f4147b2

\n\n
I receive such errors:\nInvalidRequestError: SQL expression, column, or mapped entity expected - got \'[<sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f2e28e1b810>, <sqlalchemy.sql.functions.count at 0x7f2e236c3ed0; count>]\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
AttributeError: Neither \xe2\x80\x98count\xe2\x80\x99 object nor \xe2\x80\x98Comparator\xe2\x80\x99 object has an attribute \xe2\x80\x98_autoflush\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n\n

另外,由于 db.Query 而不是 db.session.query,我遇到了问题。我想使用 db.Query 因为它有分页:)

\n\n

谢谢。

\n

sqlalchemy subquery flask flask-sqlalchemy

5
推荐指数
1
解决办法
1715
查看次数

RxSwift展开可选的便捷功能?

目前我已经创建了一个函数unwrapOptional来安全地解包流中的可选输入.

    func unwrapOptional<T>(x: Optional<T>) -> Observable<T> {
       return x.map(Observable.just) ?? Observable.empty()
    }

    let aOpt: String? = "aOpt"
    _ = Observable.of(aOpt).flatMap(unwrapOptional).subscribeNext { x in print(x)}

    let aNil: String? = nil
    _ = Observable.of(aNil).flatMap(unwrapOptional).subscribeNext { x in print(x)}

    let a: String = "a"
    _ = Observable.of(a).flatMap(unwrapOptional).subscribeNext { x in print(x)}

   // output 
    aOpt
    a
Run Code Online (Sandbox Code Playgroud)

我想要存档的是创建一个方便的功能而不是使用flatMap(unwrapOptional),例如

Observable.of(a).unwrapOptional()
Run Code Online (Sandbox Code Playgroud)

我尝试过的东西,但它永远不会编译......

extension ObservableType {
    func unwrapOptional<O : ObservableConvertibleType>() -> RxSwift.Observable<O.E> {
        return self.flatMap(unwrapOptional)
    }
}
Run Code Online (Sandbox Code Playgroud)

swift rx-swift

4
推荐指数
2
解决办法
5762
查看次数

在 Vapor 的迁移中添加默认值

如何在流畅迁移中为非可选字段添加默认值?我目前有这个错误:

?? PostgreSQL Error: column "firstName" contains null values
Run Code Online (Sandbox Code Playgroud)

我唯一的选择是

public func field<T>(for key: KeyPath<Self.Model, T>, isIdentifier: Bool? = nil)
public func field<T>(for key: KeyPath<Self.Model, T>, type: Self.Model.Database.SchemaFieldType)
Run Code Online (Sandbox Code Playgroud)

编辑:感谢蒂姆的回答,解决方案是:

static func prepare(on conn: PostgreSQLConnection) -> Future<Void> {
        return Database.update(User.self, on: conn) { builder in
            builder.field(for: \User.firstName, type: .text, .default(.literal("")))
        }
    }
Run Code Online (Sandbox Code Playgroud)

swift vapor vapor-fluent

4
推荐指数
2
解决办法
855
查看次数