小编Aar*_*ger的帖子

从Swift中的Int数组中删除前n个元素

如何nIntSwift中的数组中删除第一个元素?

例如:

var array = [0, 1, 2, 3, 4, 5, 6]
let n = 4
Run Code Online (Sandbox Code Playgroud)

结果数组包含以下元素:

[4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

arrays ios swift

23
推荐指数
2
解决办法
9990
查看次数

AFNetworking 2.0 - 意外的NSURLErrorDomain错误-1012

我们使用AFNetworking 2.0的应用程序遇到了以下问题.当使用AFHTTPRequestOperationManager's GET方法时,我们遇到了错误NSURLErrorDomain code -1012.请求使用HTTPS,服务器不需要用户身份验证.请求永远不会到达服务器.

我们已经运行了几个测试,这是第一次产生错误,我们想知道如何产生这个错误,因为它似乎不相关.

AFHTTPRequestOperationManager的设置:

httpOperationManager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL: 
        [NSURL URLWithString: HTTPS_URL)]];

httpOperationManager.responseSerializer = 
        [AFXMLParserResponseSerializer serializer];

[[AFNetworkActivityIndicatorManager sharedManager] setEnabled: YES];
Run Code Online (Sandbox Code Playgroud)

获得请求

AFHTTPRequestOperation *op =[httpOperationManager GET: 
        [NSString stringWithFormat:SOME_PATH] 
        parameters:nil 
        success:^(AFHTTPRequestOperation *operation, id responseObject) { 
            //code to setup NSXMLParser ...
        } 
        failure: ^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"error %@", [error localizedDescription]);
        }];
Run Code Online (Sandbox Code Playgroud)

nsurlerrordomain afnetworking

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

在UITableViewCell上调用`[UIView -systemLayoutSizeFittingSize:]`总是失败

我想为UITableViewCells使用自动布局.这些表格单元格具有动态高度(取决于文本长度).

我正在使用[UIView -systemLayoutSizeFittingSize:]计算适当的单元格高度(返回[UITableView -heightForRowAtIndexPath:]),但我一直得到以下结果:

  • 如果我通过UILayoutFittingCompressedSize,我会收到(0,0)的CGSize.

  • 如果我通过UILayoutFittingExpandedSize,我的应用程序崩溃与此错误:

    ***断言失败 - [NSISLinearExpression incrementConstant:],/ SourceCache /Foundation_Sim/Foundation1043.1/Lightsout.subproj/IncrementalSimplex/NSISLinearExpression.m:620

(我的猜测是,这意味着一些数字是无限的.)

我的实现很简单.我计算每个对象的高度,然后缓存它:

MessageCell *cell = // allocate a new cell...

//  set up the cell (assign text, images, etc)

CGSize size = [cell systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];

self.cellHeight = size.height;  // size always equals (0, 0)
Run Code Online (Sandbox Code Playgroud)

我假设这是我设置的约束的问题,但是:

  • 如果我手动设置cellHeight为较大的值,除了高度错误外,单元格看起来都很好.
  • Interface Builder没有给出关于模糊限制的警告
  • [cell hasAmbiguousLayout]回报NO.
  • 我的单元格中有一个设置为48x48的图像,因此(0,0)的大小不应满足所有约束.

有任何想法吗?

cocoa-touch interface-builder uitableview ios autolayout

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

"?"之间有什么区别?和"!" 在斯威夫特?

我知道什么"?" 和"!" 当我在Swift中声明变量时.但是在使用这些变量时它们意味着什么?例如,在此代码中:

var attachment: NSTextAttachment = NSTextAttachment()
attachment.image = UIImage(named: "placeholder.png")
attachment.image!.size ... // or attachment.image?.size ...
Run Code Online (Sandbox Code Playgroud)

attachment.image!.size和之间有什么区别attachment.image?.size

swift

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

cURL上的-u标志实际上是什么?

我正在查看Stripe的cURL示例以获取有关事件的信息.

他们让我这样做:

curl https://api.stripe.com/v1/events/evt_123 \
   -u sk_test_somekey:
Run Code Online (Sandbox Code Playgroud)

cURL的文档声明-u执行USER:PASSWORD.

当我尝试将其作为-d或查询发送时,Stripe的API说我错过了一个标题.这似乎不对.

我也不明白用户名之后缺少密码.如果我发送没有":"的cURL,系统会提示我输入密码.点击输入(没有输入字符),得到预期的响应.

那么,究竟是什么-u这样做我可以在我的代码中模仿这个调用?

curl

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

"自动布局"中的"使用标准值和约束到边距"是什么意思?

我已经完成了几个Auto Layout教程,比如这个.但是我仍然不清楚pin对话框中的以下选项

在此输入图像描述

  1. 标准值,手动值和画布值之间有什么区别?

  2. 什么是约束保证金复选框吗?

  3. 什么是对齐呢?

nib ios autolayout

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

如何使用iOS WKWebView注入JavaScript回调来检测onclick事件?

我正在使用a WKWebView来显示一个包含三个按钮的HTML网站.我想在单击特定按钮时在本机应用程序中运行一些Swift代码.

关于HTML

这三个按钮看起来像这样:

<input type="button" value="Edit Info" class="button" onclick="javascript:GotoURL(1)">
<input type="button" value="Start Over" class="button" onclick="javascript:GotoURL(2)">
<input type="button" value="Submit" class="button" onclick="javascript:GotoURL(3)">
Run Code Online (Sandbox Code Playgroud)

GotoURL他们调用的函数如下所示:

function GotoURL(site)
{
    if (site == '1')
        document.myWebForm.action = 'Controller?op=editinfo';
    if (site == '2')
        document.myWebForm.action = 'Controller?op=reset';
    if (site == '3')
        document.myWebForm.action = 'Controller?op=csrupdate';
    document.myWebForm.submit();
}
Run Code Online (Sandbox Code Playgroud)

目前的WKWebView实施

当我单击webview中的任何按钮时,在我的上面调用此函数WKNavigationDelegate:

func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
    // ...?
}
Run Code Online (Sandbox Code Playgroud)

但当然,它navigation是不透明的,因此不包含用户点击的三个按钮中的哪一个的信息.

检测单击此按钮的最简单方法是什么?

我想在用户单击" 提交"时进行响应,并忽略其他按钮按下.

我在Stack Overflow上看到了其他一些方法WKUserContentController,但它们似乎要求网站调用类似的东西:

window.webkit.messageHandlers.log.postMessage("submit");
Run Code Online (Sandbox Code Playgroud)

我不控制这个网站所以我不能在它的源代码中添加这一行,我不知道使用它在正确的地方注入它的最佳方法 …

javascript ios swift wkwebview

16
推荐指数
2
解决办法
4000
查看次数

Swift等价的removeObjectsInRange:

跟踪Swift相当于以下内容时遇到一些麻烦:

//timeArray and locationArray are NSMutableArrays
NSRange removalRange = NSMakeRange(0, i);

[timeArray removeObjectsInRange:removalRange];
[locationArray removeObjectsInRange:removalRange];
Run Code Online (Sandbox Code Playgroud)

我看到Swift确实在API中有一个调用: typealias NSRange = _NSRange但我没有超过那个部分.有帮助吗?

objective-c swift

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

用子类在Swift中实现NSCopying

考虑两个班级.第一个是符合以下条件VehicleNSObject子类NSCopying:

class Vehicle : NSObject, NSCopying {

    var wheels = 4

    func copyWithZone(zone: NSZone) -> AnyObject {
        let vehicle = self.dynamicType()
        vehicle.wheels = self.wheels
        return vehicle
    }
}
Run Code Online (Sandbox Code Playgroud)

第二类Starship继承自Vehicle:

class Starship : Vehicle {

    var photonTorpedos = 6
    var antiGravity = true

    override func copyWithZone(zone: NSZone) -> AnyObject {
        let starship = super.copyWithZone(zone) as Starship

        starship.photonTorpedos = self.photonTorpedos
        starship.antiGravity = self.antiGravity
        return starship
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码无法编译,因为:

构造具有元类型值的类型"Vehicle"的对象必须使用"必需的"初始化程序.

所以我继续添加一个必需的初始化程序:

required override …
Run Code Online (Sandbox Code Playgroud)

introspection swift

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

在UISegmentedControl中拉伸图像

我正在尝试将图像添加到我的UISegmentedControl中,但图像总是自动拉伸以填充整个控件(见图片).我目前正通过调用setImage:forSegmentAtIndex:来设置图像.如何设置图像以保持其纵横比?这似乎应该是一件容易的事,但我无法弄明白.

带有拉伸图标的UISegmentedControl

uisegmentedcontrol ios

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