所以我刚升级到最新最好的Xcode 4.4但找不到Icon Composer.它是在Xcode 4.3中的Open Developer Tool菜单项中,但现在我无法在任何地方找到它.
Apple没有忘记包含它吗?如何在没有它的情况下创建图标?
我也尝试在终端中使用iconutil但我收到的错误是不支持1024x1024.我正在运行OSX 10.7.4.
在Objective-C中注销一个浮点数时,您可以执行以下操作将输出限制为仅两位小数:
float avgTemp = 66.844322156
NSLog (@"average temp. = %.2f", avgTemp);
Run Code Online (Sandbox Code Playgroud)
但是你如何在Swift中做到这一点?你怎么逃避printlnSwift中的其他角色?
这是一个常规的Swift println语句:
println ("Avg. temp = \(avgTemp)")
Run Code Online (Sandbox Code Playgroud)
那么如何限制小数位?
另外,你如何逃避双引号println?
我正在使用 SwiftUI 开发一个新的 macOS 应用程序,但不知道如何定义窗口大小。在 AppDelegate 中,窗口大小定义如下:
// --- AppDelegate.swift ---
import Cocoa
import SwiftUI
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
window = NSWindow(
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
backing: .buffered, defer: false)
window.center()
window.setFrameAutosaveName("Main Window")
window.contentView = NSHostingView(rootView: ContentView())
window.makeKeyAndOrderFront(nil)
}
}
Run Code Online (Sandbox Code Playgroud)
ContentView 定义如下:
// --- ContentView.swift ---
import SwiftUI
struct ContentView : …Run Code Online (Sandbox Code Playgroud) 我正在使用 NavigationView 在 Mac 应用程序的窗口中显示 SidebarView 和 DetailView:
import SwiftUI
private let fruits = [" Apple", " Coconut", " Mango", " Kiwi"]
struct SidebarView: View {
@Binding var selectedFruit: String?
var body: some View {
List(fruits, id: \.self, selection: $selectedFruit) { fruit in
Text("\(fruit)")
}
.listStyle(SidebarListStyle())
.frame(minWidth: 180, idealWidth: 200, maxWidth: 300)
}
}
struct DetailView: View {
@Binding var fruit: String?
var body: some View {
Text("\(fruit ?? "Default Fruit")")
.font(.headline)
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}
struct ContentView: …Run Code Online (Sandbox Code Playgroud) 我想检查用户是否在OS X和iOS中选择了12小时或24小时时钟作为他们的偏好.所以我想检测用户是否已完成以下操作:
我目前有以下代码,但它总是返回12小时时钟所代表的时间,即使用户设置的系统首选项是24小时制.
let timeFormatter = NSDateFormatter()
timeFormatter.locale = NSLocale.currentLocale()
timeFormatter.dateStyle = NSDateFormatterStyle.NoStyle
timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle
let ampmtext = timeFormatter.stringFromDate(NSDate())
println(ampmtext)
if ampmtext.rangeOfString("M") != nil {
println("12-hour clock")
} else {
println("24-hour clock")
}
Run Code Online (Sandbox Code Playgroud)
我想找到一个用Objective-C和Swift编写的解决方案,用于Mac和iPhone,可以检测设备时钟是显示24小时还是12小时.
在Swift中使用println和print打印到控制台.但它们之间的唯一区别似乎是println返回到下一行而print不是.
例如:
println("hello world")
println("another world")
Run Code Online (Sandbox Code Playgroud)
将输出以下两行:
hello world
another world
Run Code Online (Sandbox Code Playgroud)
而:
print("hello")
print("world")
Run Code Online (Sandbox Code Playgroud)
只输出一行:
helloworld
Run Code Online (Sandbox Code Playgroud)
这print似乎更像是printfC中的传统.Swift文档说明println了相当于NSLog但目的print是什么,除了不返回下一行之外,有没有理由使用它?
我使用故事板在Xcode中创建了一个Mac OS X应用程序.出于某种原因,在NSViewControllers中applicationDidFinishLaunching调用AppDelegate viewDidLoad中的方法.和iOS应用程序一样,我认为viewDidLoad以前应该调用它applicationDidFinishLaunching?OS X应用程序中的故事板是否在应用程序完成启动之前初始化视图控制器?
我正在使用该applicationDidFinishLaunching方法将默认设置注册到NSUserDefaults.不幸的是,在加载故事板中的视图之后,会发生注册默认值.因此,当我使用时在每个视图控制器中设置视图时,viewDidLoad尚未设置NSUserDefaults中的默认数据.如果我不能applicationDidFinishLaunching在OS X故事板应用程序中注册NSUserDefaults,那么我之前如何设置默认值viewDidLoad?
为了解决这个问题,在Main.storyboardXcode中,我关闭了主窗口的"Is Initial Controller".我将故事板ID分配给主窗口为"MainWindow".然后在AppDelegate中输入以下代码:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
let storyboard = NSStoryboard(name: "Main", bundle: nil)
let mainWindow = storyboard.instantiateControllerWithIdentifier("MainWindow") as! NSWindowController
mainWindow.showWindow(nil)
mainWindow.window?.makeKeyAndOrderFront(nil)
}
}
Run Code Online (Sandbox Code Playgroud)
该应用程序不会崩溃,但现在窗口永远不会出现.下图显示了我正在使用的故事板:
我在 Pandoc 降价文件中有一个代码块,指定为:
```python
for x in range(10):
print('id is', x)
```
Run Code Online (Sandbox Code Playgroud)
当我使用命令时
pandoc example.md -s -o example.html
我在网页中得到以下输出:
但是,当我使用使用 Bootstrap CSS 生成 HTML 的自定义 html 模板时,代码块中的缩进是错误的。命令
pandoc example.md --template=custom.html -s -o example2.html
在网页中产生以下输出:
请注意第二个示例中的缩进是如何过大的。这仅在使用 Bootstrap 设置代码块样式时发生。缩进问题不会出现在第一行,只会出现在代码块中的后续行。
我用来生成 HTML 的模板是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Example Pandoc HTML</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
$if(quotes)$
<style type="text/css">q { quotes: "“" "”" "‘" "’"; }</style>
$endif$
$if(highlighting-css)$
<style type="text/css">$highlighting-css$</style>
$endif$
$if(math)$ …Run Code Online (Sandbox Code Playgroud) 我无法让KVO处理在Cocoa应用程序中绑定在一起的文本字段.我在使用按钮在NSTextFields中设置字符串但是它不能使用绑定时,我已经得到了这个功能.与往常一样,Stack Overflow的任何帮助都将非常感激.
我的代码的目的是:
将几个文本字段绑定在一起
当在一个字段中输入数字时,让其他字段自动更新
观察文本字段中的更改
这是我的MainClass代码,它是一个NSObject子类:
#import "MainClass.h"
@interface MainClass ()
@property (weak) IBOutlet NSTextField *fieldA;
@property (weak) IBOutlet NSTextField *fieldB;
@property (weak) IBOutlet NSTextField *fieldC;
@property double numA, numB, numC;
@end
@implementation MainClass
static int MainClassKVOContext = 0;
- (void)awakeFromNib {
[self.fieldA addObserver:self forKeyPath:@"numA" options:0 context:&MainClassKVOContext];
[self.fieldB addObserver:self forKeyPath:@"numB" options:0 context:&MainClassKVOContext];
[self.fieldC addObserver:self forKeyPath:@"numC" options:0 context:&MainClassKVOContext];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if (context != &MainClassKVOContext) {
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
return;
} …Run Code Online (Sandbox Code Playgroud) cocoa objective-c key-value-observing nstextfield cocoa-bindings
我使用 Miniconda 在新 Mac 上安装了 Python 3,并进行了以下设置:
当我尝试在终端中运行 iPython 时,我收到以下错误:
Traceback (most recent call last):
File "/Users/g72/miniconda3/bin/ipython", line 11, in <module>
sys.exit(start_ipython())
File "/Users/g72/miniconda3/lib/python3.7/site-packages/IPython/__init__.py", line 125, in start_ipython
return launch_new_instance(argv=argv, **kwargs)
File "/Users/g72/miniconda3/lib/python3.7/site-packages/traitlets/config/application.py", line 663, in launch_instance
app.initialize(argv)
File "</Users/g72/miniconda3/lib/python3.7/site-packages/decorator.py:decorator-gen-113>", line 2, in initialize
File "/Users/g72/miniconda3/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/Users/g72/miniconda3/lib/python3.7/site-packages/IPython/terminal/ipapp.py", line 317, in initialize
self.init_shell()
File "/Users/g72/miniconda3/lib/python3.7/site-packages/IPython/terminal/ipapp.py", line 333, in init_shell
ipython_dir=self.ipython_dir, user_ns=self.user_ns)
File "/Users/g72/miniconda3/lib/python3.7/site-packages/traitlets/config/configurable.py", …Run Code Online (Sandbox Code Playgroud)