小编dfr*_*fri的帖子

NSDate格式扩展中的EXC_BAD_ACCESS

我正在为NSDate编写一个扩展,它提供了一些可用的初始化程序.这里的最终目标是从API获取日期时间字符串并将其解析为NSDate,例如

let createdAt = NSDate(apiDateTimeString: "2016-03-29T18:33:49+06:00")
let createdAt = NSDate(apiDateTimeString: "2016-03-29T18:33:49.730+06:00")
Run Code Online (Sandbox Code Playgroud)

日期时间字符串可以采用以下两种格式之一:

  • yyyy-MM-dd'T'HH:mm:ssZZZZZ
  • yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ

这是扩展的样子:

import Foundation

public extension NSDate {

    // MARK: Custom Initializers

    public convenience init(date: NSDate) {
        self.init(timeInterval: 0.0, sinceDate: date)
    }

    public convenience init?(dateString: String, formatString: String) {
        let formatter = NSDateFormatter()
        formatter.dateFormat = formatString
        formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
        if let date = formatter.dateFromString(dateString) {
            self.init(date: date)
        } else {
            return nil
        }
    }

    public convenience init?(apiDateTimeString: String?) {
        guard let dateString = apiDateTimeString else { …
Run Code Online (Sandbox Code Playgroud)

exc-bad-access nsdate foundation ios swift2

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

Swift 2.2循环遍历字符串并获取char和index

我正在尝试遍历String获取字符以及它们的索引.听起来很简单..但我找不到正确的语法.

这是我在尝试的:

let str = "testString"
for (index, char) in str.characters  {
    print(index)
    print(char)
}
Run Code Online (Sandbox Code Playgroud)

要么

for (index, char) in enumerate(str.characters)  {...}
Run Code Online (Sandbox Code Playgroud)

string foreach swift swift2.2

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

Swift 3 中的斐波那契数列生成器

以下问答涵盖了在 Swift 中生成斐波那契数的一些方法,但它已经过时了(Swift 1.2?):

问题:我们如何使用现代 Swift (Swift >= 3) 巧妙地生成斐波那契数列?最好是避免显式递归的方法。

sequence fibonacci swift swift3

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

为什么我们使用 const 和 reference 作为参数来复制构造函数?

考虑以下示例:

#include<iostream> 
using namespace std;

class Point
{
private:
    int x, y;
public:
    Point(int x1, int y1) { x = x1; y = y1; }

    // Copy constructor 
    Point(const Point& p2) { x = p2.x; y = p2.y; }

    int getX() { return x; }
    int getY() { return y; }
};

int main()
{
    Point p1(10, 15); 
    Point p2 = p1; 


    cout << "p1.x = " << p1.getX() << ", p1.y = " << p1.getY();
    cout << "\np2.x = …
Run Code Online (Sandbox Code Playgroud)

c++ constructor class

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