小编Jon*_*ier的帖子

clang-format:停止打破长方法

在尝试使用Objective-C为项目设置.clang格式文件时,我遇到了一个问题,即使最大行宽为0,长Objective-C方法也会被切割成多行.例如,这个:

AFHTTPRequestOperation *returnOperation = [self POST:endpoint parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFormData:[[secureStore valueForKey:storeKey] dataUsingEncoding:NSUTF8StringEncoding] name:tokenKey];
        if ([provider isEqualToString:kTwitterKey]) {
            [formData appendPartWithFormData:[[secureStore twitterSecretToken] dataUsingEncoding:NSUTF8StringEncoding] name:kTwitterSecretKey];
            [formData appendPartWithFormData:[email dataUsingEncoding:NSUTF8StringEncoding] name:kEmailKey];
        }
        [formData appendPartWithFormData:[[secureStore token] dataUsingEncoding:NSUTF8StringEncoding] name:tokenKey];
    } success:^(AFHTTPRequestOperation *operation, NSDictionary *response) {
        [secureStore setToken:response[kTokenKey]];
        if (completionHandler) {
            completionHandler(nil, response);
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        if (completionHandler) {
            completionHandler(error, nil);
        }
    }];
Run Code Online (Sandbox Code Playgroud)

变成了这个:

AFHTTPRequestOperation *returnOperation = [self POST:endpoint
        parameters:nil
        constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
          [formData appendPartWithFormData:[[secureStore valueForKey:storeKey] dataUsingEncoding:NSUTF8StringEncoding] name:tokenKey];
          if ([provider isEqualToString:kTwitterKey]) { …
Run Code Online (Sandbox Code Playgroud)

objective-c clang-format

13
推荐指数
1
解决办法
1309
查看次数

Swift 5 &amp; Alamofire 5:GET 方法错误:Alamofire.AFError.URLRequestValidationFailureReason.bodyDataInGETRequest(22 bytes)

我正在尝试使用 Alamofire 从数据库中获取记录。我在 GET 请求中发送参数如下。

let headers : HTTPHeaders = ["x-access-token": "\(t)","username":"\(Base.sharedManager.user)","password":"\(Base.sharedManager.pass)"]
let parm : [String: Any] = ["search_str" : self!.searchStr]
// let searchUrl = Base.sharedManager.URL+"questions/get/"+self!.searchStr
let searchUrl = Base.sharedManager.URL+"questions/get/"

AF.request(searchUrl, method: .get, parameters: parm, encoding:JSONEncoding.default , headers: headers, interceptor: nil).response { (responseData) in
    guard let data = responseData.data else {
        debugPrint("Error getting question data", responseData.error as Any)
        self?.showNoResults()
        return
    }

    do {
        let sResults = try JSONDecoder().decode(SearchResults.self, from: data)
        self!.searchReturn = [sResults]
        self!.qSearchTV.reloadData()
    } catch {
        self?.showNoResults()
        print("Error retriving …
Run Code Online (Sandbox Code Playgroud)

ios swift alamofire

7
推荐指数
3
解决办法
7941
查看次数

UIScrollView + Autolayout + Interface Builder:弹跳后顶部无滚动,额外空间

我正在尝试使用Interface Builder和autolayout在滚动视图中嵌入几组按钮和标签.我已经尝试了几乎所有我能找到的解决方案,但没有任何内容滚动滚动视图(即滚动启用+没有启用跳转=没有移动).此外,当我启用弹跳,尝试向下滚动,同时显示额外的内容但反弹回来时,滚动视图顶部的空间可能会增加20px,因为内容插入似乎卡在-20px在y.

到目前为止我尝试过的:

  • 手动设置内容大小,内容插入.不应该也不应该使用自动布局.
  • 设置我可以找到的每个约束,以确保滚动视图可以告诉它有多大.运行时的内容大小仍为零.这包括对滚动视图的大小限制以及对内部按钮和标签的定位约束.
  • IB设置和指标的各种组合.
  • 将按钮和标签嵌入到滚动视图内的另一个UIView中.没变.
  • 在这里阅读类似的问题和答案.

我想避免编写代码来执行此操作,因为看起来工具应该能够执行此操作,但如果必须,我会这样做.但我不知所措; 我还没有看到任何可以解决这个问题的事情,我不能在IB中做到和代码一样.

interface-builder uiscrollview autolayout ios7

4
推荐指数
1
解决办法
2563
查看次数

CocoaPods:更新了 pre_install 语法?

我刚刚更新到 CocoaPods 0.38.2(或尝试更新)并且遇到了我的 pre_install 挂钩问题,该挂钩删除了不需要的本地化。我已经通读了CocoaPods 更新文档,但在将我的转换pods为之后,pods_targets我仍然收到一个错误: undefined method 'root' for <Pod::PodTarget name=Alamofire >:Pod::PodTarget 在新PodTarget定义中我没有看到 root 的替代品。

这是原始钩子:

pre_install do |installer|

  supported_locales = ['base', 'en']

  installer.pod_targets.each do |pod|
    # remove unused localizations
    %x[ find "#{pod.root}" -name '*.lproj' ].split.each do |bundle|
      if (!supported_locales.include?(File.basename(bundle, ".lproj").downcase))
        # puts "Removing #{bundle}"
        FileUtils.rm_rf(bundle)
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

想法?

ios cocoapods

3
推荐指数
1
解决办法
2252
查看次数

Core Graphics中精确的像素网格覆盖?

在我创建以像素为中心的图像编辑器的实验中,我一直在尝试绘制精确的网格叠加,以帮助引导用户尝试访问某些像素.但是,我绘制的网格不是很均匀,尤其是尺寸较小的网格.对于每几个普通列,这是一个略大的列的常规模式,所以我认为这是一个舍入问题,但我在代码中看不到它.这是我的代码:

    - (void)drawRect:(NSRect)dirtyRect
{
    context = [[NSGraphicsContext currentContext] graphicsPort];
    CGContextAddRect(context, NSRectToCGRect(self.bounds));
    CGContextSetRGBStrokeColor(context, 1.0f, 0.0f, 0.0f, 1.0f);
    CGContextStrokePath(context);
    CGContextSetInterpolationQuality(context, kCGInterpolationNone);
    CGContextSetShouldAntialias(context, NO);

    if (image)
    {

        NSRect imageRect = NSZeroRect;
        imageRect.size = CGImageGetSize([image CGImage]);
        drawRect = [self bounds];
        NSRect viewRect = drawRect;
        CGFloat aspectRatio = imageRect.size.width / imageRect.size.height;
        if (viewRect.size.width / viewRect.size.height <= aspectRatio)
        {
            drawRect.size.width = viewRect.size.width;
            drawRect.size.height = imageRect.size.height * (viewRect.size.width / imageRect.size.width);
        }
        else
        {
            drawRect.size.height = viewRect.size.height;
            drawRect.size.width = imageRect.size.width * (viewRect.size.height / imageRect.size.height);
        }

        drawRect.origin.x += (viewRect.size.width …
Run Code Online (Sandbox Code Playgroud)

cocoa core-graphics nsimage cgimage

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