小编And*_* M.的帖子

可以在iOS中读取受保护的NFC标签吗?

iOS 11 Apple现在支持为iPhone 7/7 Plus及更高版本阅读NFC标签的消息.

我找到了一些演示,但不知道是否有办法阅读受保护的NFC标签.例如,旅行证件中嵌入了NFC标签,可以防止不安全的阅读.我在Apple文档中搜索了NFC NDEF协议,但没有任何功能需要NFC标签的质询/握手.有没有办法与这些类型的NFC标签进行交互?

nfc ios ndef contactless-smartcard swift

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

如何使用Eureka制作多线标签

我使用Eureka库,我遇到了一个问题.我需要一个多行标签行,但不知道该怎么做.我只能看到带截断标签行的单行.

 class MainViewController: FormViewController {
    override func viewDidLoad() {
      super.viewDidLoad()

      form +++=

        Section()

        <<< LabelRow { row in
            row.title = "Hello World 1. Hello World 2. Hello World 3"
        }
 }
Run Code Online (Sandbox Code Playgroud)

ios swift eureka-forms

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

如何将 PieChartView 拉伸到父 View 的整个宽度和长度

我使用以下图表库并具有以下自定义控件:

在此处输入图片说明

但在图表加载后,我得到了以下图片:

在此处输入图片说明

很明显 PieChartView 比输出图表具有更大的尺寸。我的问题是如何使最终图表占据整个 PieChartView?

ios swift ios-charts

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

UIButton 标签未显示

我有以下代码

let width = UIScreen.mainScreen().bounds.width    
let linkLabel = UILabel(frame: CGRect(x: 8, y: contentHeight, width: 100, height: labelHeight))
    let linkButton = UIButton(frame: CGRect(x: 108, y: contentHeight, width: width - 108, height: labelHeight))
    mainScrollView.addSubview(linkLabel)
    mainScrollView.addSubview(linkButton)
    linkLabel.text = "Link:"
    linkButton.addTarget(self, action: #selector(linkButtonPressed), forControlEvents: .TouchUpInside)
    linkButton.setTitle("http://example.com", forState: .Normal)
    linkButton.layer.borderWidth = 1.0

    mainScrollView.contentSize = CGSize(width: view.frame.width, height: contentHeight)
Run Code Online (Sandbox Code Playgroud)

当视图加载时,我看到以下图片(注意按钮是黑色矩形): 在此处输入图片说明

所以标题不可见,但是当我点击按钮时,我可以获取它的标题属性

func linkButtonPressed(sender: UIButton) {
    print("button title = \(sender.titleLabel?.text)")
}
Run Code Online (Sandbox Code Playgroud)

我得到了button title = Optional("http://example.com")但无论如何按钮标题不可见。有什么建议?

uibutton uilabel ios swift

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

如何等待所有NSOperations完成?

我有以下代码:

func testFunc(completion: (Bool) -> Void) {
    let queue = NSOperationQueue()
    queue.maxConcurrentOperationCount = 1

    for i in 1...3 {
        queue.addOperationWithBlock{
            Alamofire.request(.GET, "https://httpbin.org/get").responseJSON { response in
                switch (response.result){
                case .Failure:
                    print("error")
                    break;
                case .Success:
                    print("i = \(i)")
                }
            }
        }
        //queue.addOperationAfterLast(operation)
    }
    queue.waitUntilAllOperationsAreFinished()
    print("finished")
}
Run Code Online (Sandbox Code Playgroud)

输出是:

finished
i = 3
i = 1
i = 2
Run Code Online (Sandbox Code Playgroud)

但我希望以下内容:

i = 3
i = 1
i = 2
finished
Run Code Online (Sandbox Code Playgroud)

那么,为什么queue.waitUntilAllOperationsAreFinished()不等待?

nsoperation nsoperationqueue ios swift

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

什么类型的循环范围?

当我们写下以下内容时:

for i in 1...10 {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)

我想知道1...10在函数调用中使用它的范围是什么类型,例如:

myFunc(1...10)
Run Code Online (Sandbox Code Playgroud)

range ios swift

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

对NSManagedObject数组进行排序

我的项目中有一个应该有效的代码.简单地说,我想按创建日期对请求的获取结果进行排序,如下所示:

0        context =...
1        let fetchRequest = NSFetchRequest(entityName: CoreDataValues.EntityName)
2        do {
3            let results = try context?.executeFetchRequest(fetchRequest)
4            let sortDescriptor = NSSortDescriptor(key: CoreDataValues.CreationDateKey, ascending: true)

5            if let sortedObjects = (results as? NSArray)?.sortedArrayUsingDescriptors([sortDescriptor]) as? [NSManagedObject] {
6                searchTextObjects = sortedObjects
7                tableView.reloadData()
8            }

9        } catch let error as NSError {
10            print("Could not fetch \(error), \(error.userInfo)")
11        }
Run Code Online (Sandbox Code Playgroud)

但在5行我发出警告:"从[AnyObject]转换为无关类型的NSArray总是失败".

arrays core-data ios swift

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

如何同步多个Alamofire请求

我有多个请求:

var data1: MyData?
var data2: MyData?
var data3: MyData?

func makeRequest(url: String, completion: (result: ResponseResult, data: MyData?) -> Void){
    Alamofire.request(.GET, url).responseJSON { response in
        switch response.result {
        case .Success(let JSON):
        completion(result: .Success, MyData(JSON))
        case. Failure(let error):
        completion(result: .Failure, nil)
        }
    }
}

makeRequest(url1){ result, data in
    data1 = data
}
makeRequest(url2){ result, data in
    data2 = data
}
makeRequest(url3){ result, data in
    data3 = data
}
Run Code Online (Sandbox Code Playgroud)

收到所有数据后,我必须调用以下函数:

workWithData(data1, data2: data2, data3: data3)
Run Code Online (Sandbox Code Playgroud)

在那种情况下如何为这三个要求设置障碍?

ios swift alamofire

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

swift中带有选项的结构的大小

奇怪的调用结果MemoryLayout<SampleStruct>.size。它在以下结构上返回 41。

struct SampleStruct {
    var tt: Int?
    var qq: Int?
    var ww: Int?
}
Run Code Online (Sandbox Code Playgroud)

不能被3整除!的同时大小Int?是 9。怎么会呢?

memory memory-management swift

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

OCaml无法获取数组长度

我是OCaml的新手,现在正尝试移动数组。但是我在上收到语法错误arr.length。(第二行)

let shift (arr : array) (k : int) =
    let size = arr.length;;
    let shifted = Array.make size 0;;

    for i = 0 to size- 1 do
        if i < k
        then shifted.(size- 1 - k + i) <- arr.(i);;
        else shifted.(i-k) <- arr.(i);;
    done

    shifted;;
Run Code Online (Sandbox Code Playgroud)

ocaml

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

为什么应用程序被信号量阻止?

我有以下功能,假设[CIImage]为了我的目的返回- 在tableView中显示照片的一些元数据.

func getCIImages() -> [CIImage] {
    var images = [CIImage]()
    let assets = PHAsset.fetchAssetsWithMediaType(.Image, options: nil)

    for i in 0..<assets.count {
        guard let asset = assets[i] as? PHAsset else {fatalError("Cannot cast as PHAsset")}  
        let semaphore = dispatch_semaphore_create(0)

        asset.requestContentEditingInputWithOptions(nil) { contentEditingInput, _ in
            //Get full image
            guard let url = contentEditingInput?.fullSizeImageURL else {return}
            guard let inputImage = CIImage(contentsOfURL: url) else {return}
            images.append(inputImage)
            dispatch_semaphore_signal(semaphore)
        }
        dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
    }
    return images
}
Run Code Online (Sandbox Code Playgroud)

但它停留在信号量等待,并没有走得更远.我已经浏览了很多教程,但GCD的其他变种不起作用.我认为这是因为模拟器,我不知道,无法在真实设备上进行测试.请帮忙.

semaphore grand-central-dispatch ios swift phasset

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

Facebook FBSDKLoginButtonDelegate loginButton 函数语法错误

我正在使用 Xcode8 和 swift 3。所以我将我的项目完全转换为最新的语法,现在我收到错误:

在此上下文中,“错误”对于类型查找不明确

在函数中:

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)

FBSDK中的函数声明如下:

- (void)  loginButton:(FBSDKLoginButton *)loginButton
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
            error:(NSError *)error;
Run Code Online (Sandbox Code Playgroud)

所以我尝试将错误类型更改为 NSError 但出现另一个错误:

“SignInViewController”不符合协议“FBSDKLoginButtonDelegate”

我不知道该怎么办。任何帮助表示赞赏!

facebook ios swift swift3

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