小编Sha*_* Of的帖子

错误:无效的bitcode版本(生产者:'800.0.35.0_0'读者:'703.0.31_0')

当我尝试在Xcode 7.3.1上存档我的应​​用程序时,我收到以下错误:

错误:无效的bitcode版本(生产者:'800.0.35.0_0'Reader:'703.0.31_0')clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我昨天能够成功存档我的应​​用程序,任何人都可以帮助我吗?

xcode ios ios9 xcode8

28
推荐指数
4
解决办法
2万
查看次数

元类型的元型

在Swift中,我们可以编写以下结构:

class SomeClass {}
let metaMetatype: SomeClass.Type.Type = SomeClass.Type.self
Run Code Online (Sandbox Code Playgroud)

这里metaMetatype不符合类型AnyObject(SomeClass.Type确实).只要我们愿意,施工可以更长时间:

let uberMetatype: SomeClass.Type.Type.Type.Type.Type.Type.Type.Type.Type.Type = SomeClass.Type.Type.Type.Type.Type.Type.Type.Type.Type.self
Run Code Online (Sandbox Code Playgroud)

这个结构有什么意义吗?如果SomeClass.Type.Type不是一个对象,这是什么,为什么我们能够声明它?

swift

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

静态枚举和静态结构之间的区别

假设枚举或结构在实例中不存储任何值,则它们是静态的.静态枚举和静态结构之间有什么区别吗?

enum StaticEnum {
    static var someStaticVar = 0
    static func someStaticFunc() {}
}

struct StaticStruct {
    static var someStaticVar = 0
    static func someStaticFunc() {}
}
Run Code Online (Sandbox Code Playgroud)

swift

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

具有计算属性的弱关键字

private weak var _delegate: SomeClassDelegate?
weak var delegate: SomeClassDelegate? {
    get {
        return _delegate
    }
    set {
        _delegate = newValue
    }
}
Run Code Online (Sandbox Code Playgroud)

这是有效的代码。将weak关键字与计算delegate属性一起使用是否有意义?逻辑上不;编译器将如何处理此代码?

swift

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

iOS Swift子类化由xib(nib)文件初始化的ViewController

我有一个基类

MyViewController: UIViewController
Run Code Online (Sandbox Code Playgroud)

由MyViewController.xib初始化,带有一些插座.我只在MyViewController.xib中设置了File Owner类,MyViewController.swift中MyViewController没有任何init方法(都继承自UIViewController),并且后续行正常工作:

let vc = MyViewController()
Run Code Online (Sandbox Code Playgroud)

查看属性设置,出口设置.

我想继承MyViewController:

SecondViewController: MyViewController
{
    override init()
    {
        super.init()
    }

    required init?(coder aDecoder: NSCoder)
    {
        super.init(coder: aDecoder)
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我期待那条线

let vc = SecondViewController()
Run Code Online (Sandbox Code Playgroud)

将创建视图控制器,其中包含继承自的视图和插件MyViewController,但vc中的所有插件均为零.看起来现在错过了MyViewController.xib文件.我究竟做错了什么?

uiviewcontroller ios swift

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

如何用两个"标签"更好地实现UITableView?

两个表必须位于一个视图控制器中,例如通过段控制进行切换.数据是无限的,从核心数据中获取.我看到三个解决方案:

1)创建两个对象UITableView并在共享数据源函数中填充它们; 保持其中一个tableviews隐藏

2)创建两个视图控制器容器,嵌入主视图控制器,并执行完全分离的数据源方法; 保持其中一个容器隐藏

3)仅使用一个表视图对象,在需要时重新加载数据,提供偏移量保存

需要你的意见.哪种解决方案更快,更可读,更正确?

更新

让我尝试实现第三种选择:

var tableViewOffsets = [Int: CGPoint]()

func segmentValueChanged(sender: UISegmentedControl) {
    tableViewOffsets[tableView.tag] = tableView.contentOffset
    tableView.tag = sender.selectedSegmentIndex
    tableView.reloadData()
    if let savedOffset = tableViewOffsets[tableView.tag] {
        tableView.setContentOffset(savedOffset, animated: false)
    }
}

func tableView_dataSourceMethodsTemplate(tableView: UITableView, ...) {
    if tableView.tag == 0 {
        //perform data source code for first tab
    } else {
        //perform data source code for second tab
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios swift

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

UILabel 中的多行未显示全文

在我的代码(Swift 2.0 iOS 9)中,我创建了一个UIScrollView并添加了一个UILabel到 ScrollView 以显示大量文本。文本通过加载viewDidLoad()并从包中的文件加载。

我用过numberOfLines = 0label.lineBreakMode = .ByWordWrapping但只显示了 8 行文本。在代码下方,您将看到代码结果的图像。我给了颜色UILabelUIScrollView显示了它们的界限。

override func viewDidLoad() {
    super.viewDidLoad()
    self.configureView()
    let sv = UIScrollView(frame: self.view.bounds)
    sv.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
    self.view.addSubview(sv)
    sv.backgroundColor = UIColor.greenColor()
    var y: CGFloat = 10
    let file = detailItem as! String
    if let sectionsFile = NSBundle.mainBundle().pathForResource(file, ofType: "txt") {
        if let sectionText = try? String(contentsOfFile: sectionsFile, usedEncoding: nil) {
            let label = UILabel()
            label.numberOfLines …
Run Code Online (Sandbox Code Playgroud)

label uiscrollview ios swift

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

如何使用UIPicker dataSource

我使用Xcode 8和swift 2.3,但是UIPickerView.dataSource = (self as! UIPickerViewDataSource)当我尝试使用func时,我遇到了一个问题UIPicker,这是我的代码:

import UIKit

class ViewController: UIViewController {

    let Num = ["1","2","3","4","5","6"]

    @IBOutlet weak var UIPicker: UIPickerView!
    override func viewDidLoad() {
        super.viewDidLoad()

        func numberOfRows(inComponent component: Int) -> Int {return 1}

        func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {return Num.count}

        func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {return Num[row]}

        UIPicker.dataSource = (self as! UIPickerViewDataSource)
        UIPicker.delegate = (self as! UIPickerViewDelegate)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning() …
Run Code Online (Sandbox Code Playgroud)

swift

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

为什么 SequenceType.dropFirst(_:) 返回 Self.SubSequence 而不是 Self?

试图理解SequenceType协议

protocol SequenceType {
    associatedtype SubSequence
    @warn_unused_result func dropFirst(_ n: Int) -> Self.SubSequence
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

为什么我们需要associatedtype SubSequence,为什么Self不需要SequenceType

swift

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

Swift - 在viewDidLoad和viewDidAppear上查看不同的位置

我有一个理解问题...我创建了两个相似的视图(相同的原点和相同的大小)和剖面视图,而我创建了这些视图 - 一个在viewDidLoad另一个中viewDidAppear- 当我在原点x和y中放置相似的起点引用第i部分的每个视图都将这些视图放在不同的位置.有人可以解释一下这些观点不在同一个位置的原因是什么?

import UIKit

class ViewController: UIViewController {

    @IBOutlet var sec: UIView!

    override func viewDidLoad() {
        let shape = UIView(frame: CGRect(x: sec.frame.width/2, y: sec.frame.height/2, width: 100, height: 100));
        shape.backgroundColor = UIColor.redColor();
        view.addSubview(shape); 
    }

    override func viewDidAppear(animated: Bool) {    
        let shape2 = UIView(frame: CGRect(x: sec.frame.width/2, y: sec.frame.height/2, width: 100, height: 100));
        shape2.backgroundColor = UIColor.greenColor();
        view.addSubview(shape2);
    }
}
Run Code Online (Sandbox Code Playgroud)

viewdidload viewdidappear ios swift

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