小编Der*_*rek的帖子

设置previewItem时,QLPreviewView在运行时导致EXC_BAD_ACCESS错误

问题:在设置窗口中布置的QLPreviewView对象的previewItem时获取线程1:EXC_BAD_ACCESS(code = 1,address = 0x18).

目标:创建一个带有文件内容预览和下面控件的应用程序,用于更改正在预览的文件的属性.预览必须与窗口大小相关联,并对窗口的大小进行反应.

建立:

使用Xcode 6.1.1我使用Swift和Storyboard创建了一个默认的OS X Cocoa应用程序.

使用Storyboard进行布局,对象库中似乎没有QLPreviewView组件,因此我使用了Custom View对象并将Class设置为QLPreviewView.然后我设置约束以允许预览视图使用窗口框架调整大小.

然后,我将类QLPreviewView的自定义视图作为成员变量链接到ViewController.swift文件中.在viewDidLoad()方法中,我将QLPreviewView对象的previewItem设置为QLPreviewItem协议的实现.我还添加了一个导入Quartz.

这是由Xcode生成的ViewController.swift的源代码,然后由我修改以添加QLPreviewView的设置.

//
//  ViewController.swift
//  PreviewTest
//
//  Created by Derek on 2015-03-02.
//  Copyright (c) 2015 Derek. All rights reserved.
//

import Cocoa
import Quartz

class ViewController: NSViewController {


    @IBOutlet var preview: QLPreviewView!

    override func viewDidLoad() {
        super.viewDidLoad()

        preview.previewItem = {final class PreviewItem : NSObject, QLPreviewItem {
                var previewItemURL: NSURL! {return NSURL(fileURLWithPath: "/Users/derek/Pictures/Scan.jpeg")}
                var previewItemTitle: String! {return "Test" }
            }
            return PreviewItem()
        } ()

        // …
Run Code Online (Sandbox Code Playgroud)

xcode cocoa storyboard swift osx-yosemite

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

标签 统计

cocoa ×1

osx-yosemite ×1

storyboard ×1

swift ×1

xcode ×1