小编Sté*_*uca的帖子

什么是Swift3中的种子随机数(Xcode8 beta 1)

我需要在每次执行应用程序时启动相同的随机数列表.srand/rand不再存在了.那我该怎么办?

private extension Array {
    private func randomValues(_ seed: UInt32, num: Int) -> [Element] {
        srand (seed)

        var indices = [Int]()
        indices.reserveCapacity(num)
        let range = 0..<self.count
        for _ in 0..<num {
            var random = 0
            repeat {
                random = randomNumberInRange(range)
            } while indices.contains(random)
            indices.append(random)
        }

        return indices.map { self[$0] }
    }
Run Code Online (Sandbox Code Playgroud)

random srand swift3

6
推荐指数
2
解决办法
2043
查看次数

IOS13 beta 5:SKProductsRequest是否应该在模拟器上工作?

尽管在实际设备上一切正常,但我想知道为什么从来没有在iOS 13 beta 5的模拟器上调用过该代表吗?

我在互联网上搜索了答案,但一无所获。

我为该协议实现了以下3个功能:

public class StoreKit {
    var request: SKProductsRequest? = nil   // Keep a strong reference

    public func fetchProducts() {
        print("\(#function): start fetching products")

        let r = SKProductsRequest(productIdentifiers: productIDs)
        request = r
        r.delegate = self
        r.start()
    }

}

// MARK: - Get the requested products

extension StoreKit: SKProductsRequestDelegate {
    /// Products are received
    public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
        print("\(#function): did receive")
    }



    /// Unable to received the products
    public func …
Run Code Online (Sandbox Code Playgroud)

storekit ios-simulator ios13

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

UIViewController 生命周期断了 iOS13,makeKeyAndVisible() 好像不能操作?

我有一个自定义的 UIStoryboardSegue,可以在 iOS12.* 中按需要工作。

目标视图控制器之一是 UITabbarController:对于每个选项卡,我都有一个嵌入在导航控制器中的控制器。

不幸的是,对于 iOS13.*,这不能很好地工作:视图控制器生命周期被破坏,并且不再调用 viewXXXAppear() 和 willTransition() 方法。

看起来 makeKeyAndVisible() 没有效果?!

在底部查看屏幕 UI 在没有调用 viewWillAppear() 的情况下是如何困惑的。

一个可怕的临时解决方法

我不得不拉我的头发,但是,我找到了一个公开的修复程序(我必须即时添加导航控制器)。

这弄乱了 vc 层次结构:你有更好的解决方案吗?

public class AladdinReplaceRootViewControllerSegue: UIStoryboardSegue {
    override public func perform() {

        guard let window = UIApplication.shared.delegate?.window as? UIWindow,
            let sourceView = source.view,
            let destinationView = destination.view else {
            super.perform()
            return
        }

        let screenWidth  = UIScreen.main.bounds.size.width
        let screenHeight = UIScreen.main.bounds.size.height

        destinationView.frame = CGRect(x: 0, y: 0, width: screenWidth, height: screenHeight)

        window.insertSubview(destinationView, aboveSubview: sourceView)


        // **My fix**
        if …
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller uistoryboardsegue swift5 ios13

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

$ location改变了吗?参数分隔符

我不想从我的控制器/工厂/需要/温度打开以下网址?open = temperature,其中参数open = temperature是要求页面打开相关弹出窗口,代码如下:

$scope.openPageUrl = function (url) {
    closePopover();
    console.log("Open page url "+url);
    $location.path(url);
};

<a ng-click="openPageUrl('/plant/needs/temperatures?open=temperatures')">Click to open</a>
Run Code Online (Sandbox Code Playgroud)

不幸的是,我有这个网址#/工厂/需求/温度%3Fopen =温度要求,由%3F取代问号,防止页面打开.

有什么想法解决这个问题?

angularjs angularjs-ng-route

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

当li是内联块时,CSS li bullet不会显示

当让li成为内联块时,子弹点不再显示.

ul {
  list-style-type: circle;
}
ul.columns>li {
  display: inline-block;
  padding-right: 1cm;
  margin-left: 20px;
}
Run Code Online (Sandbox Code Playgroud)
<h1>Vertical</h1>
<ul>
  <li><a class="openPage">Besoins en magnésium</a></li>
  <li><a class="openPage">Besoins en azote</a></li>
</ul>

<h1>Horizotal is missing bullets</h1>
<ul class="columns">
  <li><a class="openPage">Besoins en magnésium</a></li>
  <li><a class="openPage">Besoins en azote</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

看我的小提琴http://jsfiddle.net/stephanedeluca/9xdkp3q7/2/

html css

5
推荐指数
2
解决办法
9610
查看次数

Swift Compression:不解压 LZ4 图像

我正在尝试使用 Swift 压缩包解压 lz4 压缩的 png 图像,但代码以零大小退出。\n我的代码如下,解压后的文件预计为 240Kb。

\n\n

[更新2] \n我在 Apple 的文档中偶然发现了这一点:

\n\n
\n

此处记录了该帧,以便您可以轻松包装另一个 LZ4\n 编码器/解码器以在必要时生成/使用相同的数据流。\n LZ4 编码缓冲区是一系列块,每个块\n 以标头开头。共有三种可能的标头:

\n\n

压缩块头由八位位组 0x62、0x76、0x34 和 0x31 组成,后跟块表示的解码(明文)数据的字节大小以及编码数据的大小(以字节为单位)。 n 存储在块中。两个大小字段都存储为(可能\n 未对齐的)32 位小端值。压缩块头后面紧跟着实际的 LZ4 编码数据流。

\n\n

流标头结束由八位字节 0x62、0x76、0x34 和 0x24 组成,标记 LZ4 帧的结束。除此标头之外,不得写入或读取更多数据。

\n
\n\n

所以我相应地添加了页眉和页脚并且它有效。但是 \xe2\x80\x94 总是有一个 \'but\'\xe2\x80\x94,在解压缩之前我如何知道“解码(明文)数据的字节大小”?

\n\n

[更新1]

\n\n

我提供了一个 LZ4 文件供您测试,以及从主包中解压该文件的代码用法。

\n\n

使用 sw“LZ4 命令行界面 64 位 v1.8.0,由 Yann Collet”压缩的 LZ4 文件在互联网上广泛使用

\n\n

https://drive.google.com/file/d/1eQ204LJs_xsHRwJ_jUcl1Up9NFo8monO/view?usp=sharing

\n\n

LZ4减压使用

\n\n
    if let url = Bundle.main.url(forResource: "TestImage300.png", withExtension: "lz4") {\n        if …
Run Code Online (Sandbox Code Playgroud)

compression lz4 swift4

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

ios file:///var/mobile/Containers 和 file:///private/var/mobile/Containers 有什么区别?

它们是不同的别名还是简单的别名?

我通过运行获得 /private/var:

FileManager.default.contentsOfDirectory(at: folder, includingPropertiesForKeys: [], options: [])
Run Code Online (Sandbox Code Playgroud)

第二个是用一个简单的:

data.write(to: f, options: [.atomic]) 
Run Code Online (Sandbox Code Playgroud)

其中 f 与“文件夹”在同一目录中

ios swift

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

NumberFormatter:货币与 PositivePrefix 不兼容吗?

我偶然发现了一个与 相关的问题NumberFormatter。当我将 设为positivePrefixplusSign,货币符号不再存在。

\n

这是一个错误还是我错过了什么?

\n
let formatter = NumberFormatter()\nformatter.numberStyle = .currency\nformatter.minimumFractionDigits = 0\nformatter.currencyCode = "EUR"\nformatter.maximumFractionDigits = 2\nformatter.positivePrefix = formatter.plusSign // Remove that to get \xe2\x82\xac25 (depends on your locale)\nlet price = 25.0\nlet s = formatter.string(from: NSNumber(value: price))\n\nprint("Price: \\(s)"). // "Price: +25"\n
Run Code Online (Sandbox Code Playgroud)\n

currency numberformatter swift

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

如何从指令部分调用ng-click?

我有一个具有局部范围的指令,其中部分包含ng-click.

小提琴就在那里:http://jsfiddle.net/stephanedeluca/QRZFs/13/

不幸的是,由于我将代码移动到指令中,因此ng-click不再触发.

控制器和指令如下:

var app = angular.module('myApp', ['ngSanitize']);

app.directive('plantStages', function ($compile) {
    return {
        restrict: 'E',
        transclude: true,
        template: '<figure class="cornStages">\
                        <p ng-transclude style="color: skyblue"></p>\
                        <hr/>\
                        <p ng-bind-html="title"></p>\
                        <p ng-bind-html="subtitle">{{subtitle}}</p>\
                        <ul>\
                            <li ng-repeat="stage in stages" ng-click="changePage(stage)">{{stage}}</li>\
                        </ul>\
                    </figure>',
        scope: {
            stages:"=",
            title:'@'
        },
        link: function (scope, element, attrs, ctrl, transclude) {
            if (!attrs.title) scope.title = "Default title";
        }
    };
});

app.controller('myCtrl', function ($scope, $location, $http) {
    $scope.stages = ['floraison', 'montaison'];
    $scope.changePage = function (page) {
        var …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-ng-click

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

Swift:如何区分全局变量和类成员?

假设您有一个具有标题成员的类,您必须使用具有相同名称的全局变量进行分配.

如何区分这两者?

var title = "Hello"

class ThisClass {

       var title = ""

       func aMethod () {

            self.title = title
       }
}
Run Code Online (Sandbox Code Playgroud)

naming swift

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