小编qua*_*yen的帖子

更新macOS后Xcode更新卡住了

更新macOS后,

在此输入图像描述

我不能再更新XCode了:

在此输入图像描述

在此输入图像描述

我一直在等待2个小时,但AppStore没有更新.

如何从头开始重新启动Xcode更新过程?

问候

xcode updates app-store macos-high-sierra

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

斯威夫特 - 在didSet中弱自我

我很少看到有人[weak self]在使用didSet.是否有一个原因?

我尝试[weak self]在我didSet的变量中使用:

var data: Dictionary<String, Any>! { // [1]
        didSet { [2]
            self?.layoutSubviews()
        }
    }
Run Code Online (Sandbox Code Playgroud)

要么我放在[weak self] in[1]或[2],我仍然得到错误:Use of unresolved identifier weak

这是为什么?使用它是非法[weak self]didSet吗?

问候,

weak-references swift didset

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

迅速4-HMCharacteristicTypeSerialNumber已弃用

我想读取附件的信息HMAccessory,例如,序列号(HMCharacteristicTypeSerialNumber),制造商(HMCharacteristicTypeManufacturer),型号(HMCharacteristicTypeModel),但是在iOS11中它们都已弃用,根据此Apple文档在此处

我知道我可以改为characteristicType直接使用字符串,如下所示:

HMCharacteristicTypeSerialNumber -> 00000030-0000-1000-8000-0026BB765291

HMCharacteristicTypeManufacturer -> 00000020-0000-1000-8000-0026BB765291

HMCharacteristicTypeModel-> 00000021-0000-1000-8000-0026BB765291

但是,这只会使我的代码“异常”。

您知道序列号,制造商和型号的特征类型的替代品吗?我已经搜索了几个小时,但仍然没有任何线索。

deprecated swift homekit swift4 ios11

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

nodejs-证书已过期

在我的 Node.js 代码中,我使用库请求站点request

const httpReq = require("request")
function postJSON(uri, data, headers) {
  if (uri.slice(-1) != "/") {
    uri += "/"
  }

  console.log(`[postJSON] uri: ${uri}`)
  console.log(`[postJSON] body: ${JSON.stringify(data, null, 2)}`)
  console.log("[postJSON] headers", JSON.stringify(headers, null, 2))

  return new Promise((resolve, reject) => {
    httpReq(
      {
        method: "POST",
        uri: uri + Math.floor(Math.random() * 100000000).toString(),
        headers: headers,
        json: data
      }, function (err, resp, body) {
        console.log(`[postJSON] done with error: ${err} -> ${uri}`)

        if (err) {
          reject(err)
        }
        else {
          resolve(body)
        }
      }
    ) …
Run Code Online (Sandbox Code Playgroud)

request ssl-certificate node.js

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

从混合语言项目中的枚举元素初始化NSNumber

我在XCode 6中有一个混合语言项目Objective C和Swift.

Singleton.h

#import <Foundation/Foundation.h>

enum  {
    enum_A = 0,
    enum_B,
    enum_C,
    enum_D,
    enum_E,
    enum_F,
    enum_G,
} enums;

@interface Singleton : NSObject

+ (id)sharedSingleton;

@end
Run Code Online (Sandbox Code Playgroud)

Singleton.m

// Nothing's special in this file

#import "Singleton.h"

static Singleton *shared = nil;

@implementation Singleton

- (id)init {
    self = [super init];
    if (self) {

    }
    return self;
}

#pragma mark - Interface

+ (Singleton *)sharedSingleton {
    static dispatch_once_t pred;

    dispatch_once(&pred, ^{
        shared = [[Singleton alloc] init];
    });

    return shared;
}

@end
Run Code Online (Sandbox Code Playgroud)

ViewController.swift …

enums objective-c nsnumber swift

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

Swift 3 - 扩展Dictionary <String,Any>的数组

我有这一系列的词典:

var dicts = [["key1": "value1", "key2": "value2"], ["key1": "value3", "key2": "value4"]]
Run Code Online (Sandbox Code Playgroud)

我应该如何扩展Array以便具有此功能:

dicts.values(of: "key1") // result: ["value1", "value3"]
Run Code Online (Sandbox Code Playgroud)

我试试这个:

extension Array where Iterator.Element == [String: Any] { // ERROR!

    func values(of key: String) -> [Any]? {
        var result: [Any]?
        for value in self {
            let val = value as! Dictionary<String, Any>
            for k in val.keys {
                if k == key {
                    if result == nil {
                        result = [Any]()
                    }
                    result?.append(val[k])
                    break
                }
            }
        }
        return result …
Run Code Online (Sandbox Code Playgroud)

arrays dictionary extend swift3

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

在混合语言项目中提取通知userinfo

我正在开发一个混合语言项目,在XCode 6中结合了Objective C和Swift.

在这个项目中,Singleton(Objective C)类发布一个通知,然后由ViewController(Swift)接收.

Singleton.h

#import <Foundation/Foundation.h>

NSString *const notificationString = @"notificationString";

@interface Singleton : NSObject

+ (id)sharedSingleton;

- (void)post;

@end
Run Code Online (Sandbox Code Playgroud)

Singleton.m

#import "Singleton.h"

static Singleton *shared = nil;

@implementation Singleton

- (id)init {
    self = [super init];
    if (self) {

    }
    return self;
}

#pragma mark - Interface

+ (Singleton *)sharedSingleton {
    static dispatch_once_t pred;

    dispatch_once(&pred, ^{
        shared = [[Singleton alloc] init];
    });

    return shared;
}

- (void)post {
    char bytes[5] = {5, 7, 9, 1, 3};

    NSDictionary …
Run Code Online (Sandbox Code Playgroud)

notifications objective-c userinfo swift xcode6

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

swift保留循环功能

我想问一下在这种情况下保留周期是否发生:

func someFunc() {
    var aVar = SomeObj()
    funcWithClosure(something, completionHandler: { _ -> Void in
        aVar = SomeObj() // new
    })
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我从闭包中返回aVar.我只是想知道这是否会产生保留周期.如果是真的,我应该修复:

func someFunc() {
    var aVar = SomeObj()
    funcWithClosure(something, completionHandler: { [weak aVar] _ -> Void in
        aVar = SomeObj() // new
    })
}
Run Code Online (Sandbox Code Playgroud)

function cycle retain swift

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

迅速从AnyHashable转换为枚举

我有这个游乐场:

import Foundation

enum WeekDay: Int {
    case mon, tues, wed, thurs, fri, sat, sun
}

let wd = WeekDay(rawValue: 0)! // mon

let param = [wd: [1, 2, 3]]
message(dict: param)

func message(dict: [AnyHashable: [Int]?]) {
    for (k, v) in dict {
        print(k, type(of: k), v) // mon AnyHashable Optional([1, 2, 3])

        if let k = k as? WeekDay {
            print("got it: \(k)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我永远不会被got it: ...打印出来.

为什么我不能从一个人投AnyHashableWeekDay

我想AnyHashable在函数中使用的原因 …

enums casting optional swift unwrap

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

swift 3 - UIRefreshControl无法在大屏幕上工作

我有一个UICollectionView我想要集成的内容UIRefreshControl,以便用户可以向下滑动以刷新.

说我的5件物品UICollectionView.如果我在iPhone5中运行我的应用程序,那么UIRefreshControl工作得很漂亮.但是,如果我在iPhone6Plus中运行它(所有5个项目都适合屏幕),那就UIRefreshControl不再适用了; 我甚至无法将其滑落.

是否有任何属性UIRefreshControl可以帮助用户在任何情况下向下滑动,无论屏幕大小是多少?我看了UIRefreshControl下面的课,但看起来这些都无济于事:

public init()


open var isRefreshing: Bool { get }


open var tintColor: UIColor!

open var attributedTitle: NSAttributedString?


// May be used to indicate to the refreshControl that an external event has initiated the refresh action
@available(iOS 6.0, *)
open func beginRefreshing()

// Must be explicitly called when the refreshing has completed
@available(iOS 6.0, *)
open func endRefreshing()
Run Code Online (Sandbox Code Playgroud)

一个丑陋的解决方案是制作一个我不想要的刷新按钮.

你有什么想法吗?

提前致谢

screen ios uirefreshcontrol swift3

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