我有一个Objective-C项目,我正在重构,我已经找到了一条我无法翻译的行,Apple的文档网站似乎已经关闭了:
[self.stepperView setFrame:self.stepperView.frame];
Run Code Online (Sandbox Code Playgroud)
我试过这个:
self.stepperView.frame = stepperView.frame
Run Code Online (Sandbox Code Playgroud)
但是这个观点仍然在错误的地方被吸引.有没有人知道setFrameSwift中的等价物?
我试着查看Apple的文档,但似乎该网站已关闭:
我正在尝试将PDF文件用作我正在处理的应用程序中的图标.我遇到的问题是我的颜色变得不一致.
如果我从界面构建器设置了按钮图像,则图标图像在运行时显示为黑色.每次.无论我尝试从界面构建器设置什么.
我尝试通过代码设置我的按钮图标图像,而不是显示黑色,它是白色的:
let myGraphicFile = UIImage(named: "myPDFImage")
let myButtonImage = myGraphicFile?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
myButton.setImage(myButtonImage, forState: .Normal)
Run Code Online (Sandbox Code Playgroud)
从代码中,无论我尝试将色调设置为什么,它始终是代码中的白色.
我发现这篇关于Xcode 6.x的帖子,但我认为它可能已经过时了,因为我能够部分地做到这一点,但是我无法设置色调.
在XCode中使用PDF作为AppIcon(.appiconset集合)
我在Inkscape中创建图标,另存为PDF 1.5.我将文件添加到Images.xcassets.在Images.xcassets'属性检查器中,我设置:
设备以通用
比例因子到单一矢量.
简介:我可以让它显示并正确缩放,但它可以是界面构建器中的黑色或代码中的白色.我怀疑我错过了一些东西:如何从Inkscape中保存文件.
谢谢你的阅读.如果您有任何建议,我欢迎他们.
我在一个项目中部分实现了ChartJS,但我无法弄清楚如何更改条形图的X和Y轴上显示的字体.
我已经阅读了ChartJS文档,在GitHub上搜索了一些示例等等.我不确定我做错了什么,但我放心,知道解决方案将涉及一行代码,并且对我来说是一个令人吃惊的愚蠢疏忽部分.
此代码绘制我想要的图表,但使用默认字体:
var barChartLanguage = Chart.Bar(myCanvas, {
data: dataLanguages,
options: options,
defaults: defaults
});
Run Code Online (Sandbox Code Playgroud)
我尝试在defaults没有成功的情况下更改字体:
var defaults = {
global: {
// example font
defaultFontFamily: "'Raleway'"
}
};
Run Code Online (Sandbox Code Playgroud)
我尝试在轴上更改它options:
var options = {
animation: {
duration: 2000
},
scales: {
yAxes: [{
display: true,
ticks: {
suggestedMin: 0, // minimum will be 0, unless there is a lower value.
// OR //
beginAtZero: true, // minimum value will be 0.
suggestedMax: …Run Code Online (Sandbox Code Playgroud) 我在我的机器上安装了Python 2.7.我在Visual Studio Code(VSC)(MacOS发行版)中使用它没有问题,但我很难让Visual Studio Code"看" wget.
在我的VSC中,我将以下import语句添加到myProject.py:
import wget
Run Code Online (Sandbox Code Playgroud)
linter说这个:
E0401:无法导入'wget'
我wget通过以下命令验证我已安装:
which wget
Run Code Online (Sandbox Code Playgroud)
...返回......
/usr/local/bin/wget
Run Code Online (Sandbox Code Playgroud)
我尝试重新安装它brew install wget,但它说已经安装了.所以我试过sudo -H pip install wget,我认为安装成功.
收集wget下载wget-3.2.zip为收集的包构建轮子:wget运行setup.py bdist_wheel for wget ... done存储在目录中:/ var/root/Library/Caches/pip/wheels/6d/98/29/61ccc41148f871009126c2e844e26f73eeb25e12cca92228a5成功构建wget安装收集的软件包:wget成功安装wget-3.2
我关闭VSC并重新打开它.我继续在linter中得到这个错误:
E0401:无法导入'wget'
我最近安装和卸载了anaconda,我很确定这是我痛苦的根源.我不经常使用Python,但我发现自己正在开发一个非常方便的项目.我没有想法:如何解决这个问题.我欢迎你的建议,谢谢你的阅读.
更新:
这个问题描述了我遇到的问题.我已经尝试了建议的解决方案,但它们似乎都没有摆脱我的linter错误.
更新我的内容.bash_profile似乎没有任何影响:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud) 我有一个UITableView显示来自的数据NSFetchedResultsController.FRC中显示的数据量不等,从一次提取的约20条记录到最大的一条记录的约14k条记录.我遇到的问题是,如果我在tableView滚动大型提取时执行提取,我会得到一个异常.到cellForRowAtIndexPath被调用时,FRC已经更新,并且没有数据,导致异常.
我找到了这篇帖子,听起来就像我遇到的那样,虽然我无法通过这种方法解决它.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseID, for: indexPath) as! CustomTableViewCell
// Exception occurs here
let myObject = fetchedResultsController.object(at: indexPath)
cell.myObject = myObject
return cell
}
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
0 CoreFoundation 0x0000000110b241e6 __exceptionPreprocess + 294
1 libobjc.A.dylib 0x000000010b820031 objc_exception_throw + 48
2 CoreData 0x000000010c2458fd -[NSFetchedResultsController objectAtIndexPath:] + 685
3 MyApp 0x000000010aaf36c5 _T011MyApp0B14ViewControllerC05tableC0So07UITableC4CellCSo0fC0C_10Foundation9IndexPathV12cellForRowAttF + 437
4 MyApp 0x000000010aaf39ec _T011MyApp0B14ViewControllerC05tableC0So07UITableC4CellCSo0fC0C_10Foundation9IndexPathV12cellForRowAttFTo + 92
5 UIKit 0x000000010cf45567 -[UITableView …Run Code Online (Sandbox Code Playgroud) 我正在构建一个抵押贷款计算器作为学习练习Combine。一切都进展顺利,直到我遇到一种情况,当Publishers我对它进行单元测试时,我没有从我的一个中获得确定性的已发布输出。我没有进行任何异步调用。这是有问题的AnyPublisher:
public lazy var monthlyPayment: AnyPublisher<Double, Never> = {
Publishers.CombineLatest3(financedAmount, monthlyRate, numberOfPayments)
.print("montlyPayment", to: nil)
.map { financedAmount, monthlyRate, numberOfPayments in
let numerator = monthlyRate * pow((1 + monthlyRate), Double(numberOfPayments))
let denominator = pow((1 + monthlyRate), Double(numberOfPayments)) - 1
return financedAmount * (numerator / denominator)
}
.eraseToAnyPublisher()
}()
Run Code Online (Sandbox Code Playgroud)
假设我将抵押贷款类型从 30 年期更改为 15 年期,会发生一些情况:
numberOfPayments由于抵押贷款期限(长度)变化而产生的变化monthlyRate由于抵押贷款期限(长度)的变化我的最终目标是等待financedAmount、、monthlyRate和numberOfPayments出版商完成他们的工作,当他们全部完成后,然后计算每月付款。Merge 3 似乎会获取每个发布者中的更改,并且对于每个更改,它都会计算并吐出我不想要的输出。
我尝试过使用MergeMany, Merge3, …
我正在尝试使用iOS 8,Swift和Xcode 6.3创建自动完成器
我有一个问题,我正在努力解决,但我放弃了...我希望有人可以在这里帮忙.问题是UITableViewCell当初始化dataSource为空时(自定义)不会显示.当添加数据datasource和重新加载时tableView,单元格应该显示,但它们不会......至少,它们第一次没有...第二次,它们会......当我用非初始化表格时 - 空数据,问题不会发生.我想有些事情出了问题dequeueReusableCellWithIdentifier.一开始,没有找到可重复使用的细胞,或者什么.但我不知道为什么......
ViewController.swift中的相关代码:
// filteredWords is a [String] with zero or more items
@IBAction func editingChanged(sender: UITextField) {
autocompleteTableView.hidden = sender.text.isEmpty
filteredWords = dataManager.getFilteredWords(sender.text)
refreshUI()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! AutocompleteTableViewCell
cell.title.text = filteredWords[indexPath.row]
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return filteredWords.count
}
func refreshUI() {
self.autocompleteTableView.reloadData()
}
Run Code Online (Sandbox Code Playgroud)
我在github上创建了一个示例项目:
我可以Int在Swift 4中初始化的数组,如下所示:
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let intArray = Array(1...10)
Run Code Online (Sandbox Code Playgroud)
如果我将数组指定为的数组,Double如下所示:
let doubleArray1: [Double] = Array(1...100)
Run Code Online (Sandbox Code Playgroud)
...编译器说:
无法将“数组”类型的值转换为指定的类型“ [Double]”
如果我尝试这样做:
let doubleArray1 = Array<Double>(1...100)
Run Code Online (Sandbox Code Playgroud)
...编译器这样说...
无法为类型为'(CountableClosedRange)'的参数列表调用类型为'Array'的初始化程序
我使用使其工作map,如下所示:
// [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
let doubleArrayMap = Array(1...10).map{Double($0)}
Run Code Online (Sandbox Code Playgroud)
有没有一种“清洁”的方法来快速初始化一个数组而Doubles 无需map在Swift中使用?
我在后台线程上运行的类中使用 DispatchGroup。偶尔需要更新UI,所以调用如下代码:
dispatchGroup.notify(queue: .main) {
self.delegate?.moveTo(sender: self, location: location)
self.delegate?.updateLabel(sender: self, item: self.currentItem)
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,什么也没有发生。但是,如果我调用相同的代码, via DispatchQueue.main.async { },如下所示:
DispatchQueue.main.async {
self.delegate?.moveTo(sender: self, location: location)
self.delegate?.updateLabel(sender: self, item: self.currentItem)
}
Run Code Online (Sandbox Code Playgroud)
...委托调用完成。我在印象dispatchGroup.notify(queue: .main) { }下相当于DispatchQueue.main.async { }。
为什么这些不一样?
我正在修修补补,UITableViewDiffableDataSource并且能够毫无问题地加载 tableView。我正在尝试在 tableView 中创建节标题,但是我遇到了一些奇怪的行为。
节 enum enum 定义如下:
enum AlertLevel: String, Codable, CaseIterable {
case green = "green"
case yellow = "yellow"
case orange = "orange"
case red = "red"
}
Run Code Online (Sandbox Code Playgroud)
这是我的实现 tableView(viewForHeaderInSection:)
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let label = UILabel()
label.text = dataSource.snapshot().sectionIdentifiers[section].rawValue.capitalized
label.textColor = UIColor.black
return label
}
Run Code Online (Sandbox Code Playgroud)
这给了我 4 个标签堆叠在我的 tableView 顶部的标题单元格中。
我启动了 Dash 到 RTFD,我看到了tableView(titleForHeaderInSection:)另一种剥猫皮的方法。所以我把这个扔进去,而不是:
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return …Run Code Online (Sandbox Code Playgroud)