小编Adr*_*ian的帖子

默认构造函数C++

让我们说我有这个课程:

class X {
public:
    int x;
};
Run Code Online (Sandbox Code Playgroud)

我看到如果我在本地创建一个X实例,x将不会初始化为0,只有我全局创建它.
这是否意味着默认构造函数不是由编译器合成的(我怀疑)对于创建localy的对象,或者它将被合成但不是x值的零,如果是这种情况,为什么会这样?

c++

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

使用std :: transform将字符串转换为所有大写字母

我正在使用变换算法和std :: toupper来实现这一点,但这可以在一行中完成,像这样吗?

transform(s.begin(), s.end(), ostream_iterator<string>(cout, "\n"),std::toupper);
Run Code Online (Sandbox Code Playgroud)

我得到错误,所以我必须为此创建一个函数并使用transform调用它,或者我可以使用一些适配器?

c++ stl

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

_stscanf_s 有什么作用?

我在一些代码中看到了这个函数,但我在谷歌上找不到关于它的文档。有人可以解释它的作用吗,有没有其他选择?

谢谢。

c c++ mfc

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

如何更改动态类型以使用不同的文本样式

我想用于Dynamic Type我的应用程序中的所有文本。我用的字体是Apple的San Francisco.
我不喜欢默认值,因为它们并不真正用于Bold文本。

以下是所有这些内容的列表:

Style         Weight      Point size    Leading Tracking
--------------------------------------------------------
Large Title   Regular     34pt  41pt    11pt
Title 1       Regular     28pt  34pt    13pt
Title 2       Regular     22pt  28pt    16pt
Title 3       Regular     20pt  25pt    19pt
Headline      Semi-Bold   17pt  22pt.  -24pt
Body          Regular     17pt  22pt.  -24pt
Callout       Regular     16pt  21pt.  -20pt
Subhead       Regular     15pt  20pt.  -16pt
Footnote      Regular     13pt  18pt.  -6pt
Caption 1     Regular     12pt  16pt    0pt
Caption 2     Regular     11pt  13pt    6pt
Run Code Online (Sandbox Code Playgroud)

那么有没有一种方法可以准确地配置文本样式呢?

ios swift dynamic-type-feature

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

如何将符合Codable协议的枚举保存到UserDefaults?

跟进我之前的问题

我设法使我的枚举符合 Codable 协议,实现了 init() 和encode(),它似乎可以工作。

enum UserState {
    case LoggedIn(LoggedInState)
    case LoggedOut(LoggedOutState)
}

enum LoggedInState: String {
    case playing
    case paused
    case stopped
}

enum LoggedOutState: String {
    case Unregistered
    case Registered
}

extension UserState: Codable {
    enum CodingKeys: String, CodingKey {
        case loggedIn
        case loggedOut
    }

    enum CodingError: Error {
        case decoding(String)

    }

    init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
        if let loggedIn = try? values.decode(String.self, forKey: .loggedIn) {
            self = .LoggedIn(LoggedInState(rawValue: …
Run Code Online (Sandbox Code Playgroud)

nsuserdefaults swift codable

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

实现什么都不做的接口方法

可以说我有这个界面和类:

interface IListener
{
   void f();
   void g();
   void h();
}

class Adapter implements IListener
{
   void f() {}
   void g() {}
   void h() {}
}
Run Code Online (Sandbox Code Playgroud)

如果它们什么也不做,那么实现thoose接口方法有什么意义呢?

问题来自设计模式Java工作簿.

java design-patterns adapter

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

连接到FTP后删除所有文件和文件夹

我想通过FTP连接到一个地址,然后删除所有内容.目前我正在使用此代码:

from ftplib import FTP
import shutil
import os

ftp = FTP('xxx.xxx.xxx.xxx')
ftp.login("admin", "admin")

for ftpfile in ftp.nlst():
    if os.path.isdir(ftpfile)== True:
        shutil.rmtree(ftpfile)
    else:
        os.remove(ftpfile)
Run Code Online (Sandbox Code Playgroud)

我的问题是他在尝试删除第一个文件时总是遇到此错误:

    os.remove(ftpfile)
WindowsError: [Error 2] The system cannot find the file specified: somefile.sys
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么?

python

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

如何在UIScrollView中加载UIViewController

这是我的设置.我有一个UIScrollView在我的主视图控制器的顶部,我加载了多个视图控制器.我还有一个Add按钮,它将使用Push segue呈现一个新的视图控制器.

我希望这个视图控制器也只在滚动视图的顶部而不是全屏加载.
到目前为止,我尝试了两种不同的东西,但没有任何工作:

  1. 在滚动视图中添加视图控制器prepareForSegue:

      override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let addViewController = segue.destination as! AddViewController
    
        addChildViewController(addViewController)
        addViewController.view.frame = CGRect(x: 0, y: 0, width: width, height: height)
        scrollView.addSubview(addViewController.view)
        didMove(toParentViewController: self)
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在UIButton操作中添加视图控制器:

@IBAction func addDidTouch(_ sender:AnyObject){

    let addViewController = AddViewController()

    addChildViewController(addViewController)
    addViewController.view.frame = CGRect(x: 0, y: 0, width: width, height: height)
    scrollView.addSubview(addViewController.view)
    didMove(toParentViewController: self)
}
Run Code Online (Sandbox Code Playgroud)

这两个解决方案都崩溃了我的应用程序.
有没有办法正确实现这个?

ios swift

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

如何将渐变添加到UIView作为扩展

我试图在Xcode中为视图添加一些渐变,为了简单起见,我尝试将我的方法添加为UIView的扩展:

extension UIView {
    func applyGradient() {
        let gradient = CAGradientLayer()
        gradient.colors = [UIColor(hex: "F5FF8C").cgColor,
                           UIColor(hex: "F1F99D").cgColor,
                           UIColor(hex: "FDFFE0").cgColor]
        gradient.locations = [0.0, 0.5, 1.0]

        self.layer.insertSublayer(gradient, at: 0)
    }
}
Run Code Online (Sandbox Code Playgroud)

但显然当我在我的电话中说这不起作用时viewDidLoad:

self.myView.applyGradient()
Run Code Online (Sandbox Code Playgroud)

有人能指出我做错了什么吗?

ios swift

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

UITextfield文本颜色在不在焦点时不会改变

所以我有两个UITextFields:名字和金额和两个UIButtons:收入,费用.
当我按下费用按钮时,amount如果按下收入按钮,我希望我的文本字段颜色变为红色或绿色.

仅当amount文本字段处于焦点时才有效,如果name文本字段处于焦点,则颜色不会更改为金额.

有没有办法改变文本字段的颜色,如果它不在焦点?

编辑:

这是我改变颜色的代码:

@IBAction func typeBtnPressed(_ sender: UIButton) {
    if sender.tag == Buttons.expense.rawValue {
        amountTxt.textColor = .red
    } else {
        amountTxt.textColor = .green
    }
}
Run Code Online (Sandbox Code Playgroud)

ios

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