小编J.D*_*Doe的帖子

使用Swift设置自定义表格视图页脚

我正在尝试将自定义页脚设置为我的表格视图.我在一个nib文件上创建了页脚并创建了一个受控制的页脚.

class LoginTableFooter: UITableViewHeaderFooterView
Run Code Online (Sandbox Code Playgroud)

viewDidLoad()我写这个代码

let footerNib = UINib(nibName: "LoginTableFooter", bundle: nil)
        tableView.register(footerNib, forHeaderFooterViewReuseIdentifier: "LoginTableFooter")
Run Code Online (Sandbox Code Playgroud)

然后我实施了 viewForFooterInSection

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let cell = self.tableView.dequeueReusableHeaderFooterView(withIdentifier: "LoginTableFooter")
    let header = cell as! LoginTableFooter

    return cell
}
Run Code Online (Sandbox Code Playgroud)

viewForFooterInSection从未被称为.我也试图实现,viewForHeaderInSection但它也没有被调用.你知道出了什么问题吗?我的表视图中只有一个部分; 是否可以/更好地直接设置页脚viewDidLoad

uitableview ios swift

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

更改UILabel属性String

我使用此代码将属性字符串添加到标签:

let attrString = NSMutableAttributedString(string: text)
// add some attributes
myLabel.attributedText = attrString
Run Code Online (Sandbox Code Playgroud)

现在是否可以仅更改属性字符串myLabel的文本并保留属性?

nsattributedstring ios swift

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

获取 URLSession.shared.dataTask 的 http 响应状态码

我请求一个带有此代码的网页

URLSession.shared.dataTask(with: NSURL(string: url)! as URL, completionHandler: { (data, response, error) -> Void in

if error == nil && data != nil {
// No error
}else{
// Error
if let httpResponse = response as? HTTPURLResponse {
  print(httpResponse.statusCode)
 }
}
Run Code Online (Sandbox Code Playgroud)

我试图通过将响应强制转换为请求页面时获取错误代码,HTTPURLResponse但强制转换不起作用并且不执行打印。你知道我怎样才能得到代码吗?

ios nsurlsession swift

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

使用 swift 3 从文件加载 json

我正在尝试使用此代码从文件加载 json 字符串。

\n\n
if let filepath = Bundle.main.path(forResource: "data", ofType: "json") {\n    do {\n        let contents = try String(contentsOfFile: filepath)\n        print(contents)\n    } catch {\n        // contents could not be loaded\n        print("could not be loaded")\n    }\n\n} else {\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我收到“无法加载”消息。代码有错吗?或者我应该把文件放在一个特定的文件夹中?目前我将它放在一个名为 models 的文件夹中。

\n\n

编辑:我检查了错误内容,json文件的位置没有问题,当我尝试将其转换为字符串时出现问题。它告诉我编码不同......

\n\n
\n

错误域=NSCocoaErrorDomain代码=264“Die Datei \xe2\x80\x9edata.json\xe2\x80\x9c konnte\n nicht ge\xc3\xb6ffnet werden,da die Textcodierung des Inhalts nicht bestimmt\n werden kann。”

\n
\n

json ios swift

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

更新Dictionary的所有值

我有一个有这种结构的字典

var profiles: Dictionary<String, Bool> = ["open": true, "encrypted": false, "sound":true, "picture":false]
Run Code Online (Sandbox Code Playgroud)

我想创建一个将所有字典值重置为true的函数.有没有一个简短的方法可以做到这一点,还是我应该循环并逐个更改值?

dictionary swift

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

用 swift 参数初始化一个类

我正在尝试用 Swift 中的参数初始化一个类。我希望能够将数组传递给类。类似的东西let test = MyTestClass(data)

代码:

init(data: [CGFloat]){
    super.init(nibName: "Test", bundle: nil)
    self.data = data
}

required init?(coder decoder: NSCoder) {

    super.init(nibName: "Test", bundle: nil)
}
Run Code Online (Sandbox Code Playgroud)

错误:

在此处输入图片说明

initialization swift

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

安全地展开可选值

我正在使用此代码创建一个新的颜色数组.一切都很好.

但是我不想强制解包,$0.color!因为有时候应用程序崩溃时值为零.

我如何将其作为可选项?如果我只是删除!我收到一个错误,要求我打开它.

let newArray = oldDict.map{ UIColor(hexString: $0.color!)}
Run Code Online (Sandbox Code Playgroud)

ios swift

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

removeFromSuperview()并不总是有效

我声明了一个名为var progressBar的UIView变量:UIView?

并使用此功能显示或隐藏视图

func showProgressBar(showBar: Bool){
if showBar{
            let viewHeight = view.frame.size.height
            progressBar = Bundle.main.loadNibNamed("progressBar", owner: nil, options: nil)?.first as? UIView
            progressBar?.frame = CGRect(x: 0, y: viewHeight - 80 , width: self.view.frame.width, height: 80)
            if let bar = progressBar{
                self.view.addSubview(bar)
            }
        }else{
            DispatchQueue.main.async() {
                self.progressBar?.removeFromSuperview()
            }
        }
Run Code Online (Sandbox Code Playgroud)

有时当我在视图之间导航时,我无法隐藏进度条,即使self.progressBar?.removeFromSuperview()执行时也是如此.在我看来,如果视图已经丢失了对旧进度条的引用...你对这个问题以及如何解决这个问题有所了解吗?

uiview ios swift

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

子类上的 Nil 继承出口

我已经定义了一个带有插座的基类,并将插座附加到 nib 文件中的视图

class BaseController: UIViewController  {


@IBOutlet weak var myView : UIView!

and then created a subclass 

class SubViewController: BaseController {

override func viewDidLoad() {
myView.backgroundColor = UIColor.red //The app crashes here 
Run Code Online (Sandbox Code Playgroud)

当我调用BaseController()它时会出现视图,但是当我调用SubViewController()应用程序时会崩溃,因为myView它为零。nib 文件上的文件所有者是 BaseController。

inheritance ios swift

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