小编4th*_*ace的帖子

为什么不守护创建unwrapped var?

为什么我需要unwrapped在最终的return语句中解包变量?不是警卫应该处理这个吗?

func test() -> String {
    let fmt = NSNumberFormatter()
    let myValue:Double? = 9.50
    guard let unwrapped = myValue else {
        return ""
    }
    return fmt.stringFromNumber(unwrapped)
}
Run Code Online (Sandbox Code Playgroud)

错误:可选类型'String?'的值 没有打开; 你的意思是用'!' 要么 '?'?return fmt.stringFromNumber(unwrapped)

ios forced-unwrapping swift2 guard-statement

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

如何将 San Francisco 字体导入 Xcode?

我只是下载并安装了 SF 字体。我在 Sketch 和 Font Book 中看到它们,但在 Xcode(Interface Builder)中没有看到。我已重新启动 Xcode,但 SF 或 San Francisco 字体仍未显示在文本工具中。

有谁知道是否需要一些特殊的东西才能让他们在 Xcode 中工作?

OS X 10.11.1
Xcode 7.1.1

macos interface-builder xcode7

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

如何将此字符串拆分为Dictionary <string,string>?

我有以下字符串:

{"key1":"value1","key2":"value2,some other part of value2"}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下长语法来分割它:

var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries);
var firstEntryValue = s[0].Split(':')[1];
var secondEntryValue = s[1].Split(':')[1];
Run Code Online (Sandbox Code Playgroud)

由于这个字符串基本上是一个Dictionary<string,string>,我怎样才能将整个事物基本上拉成一行?

我见过这样的话:

var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries)
  .Select(p => p.Split(':'))
  .ToDictionary(split => split[0], split => split[1]);
Run Code Online (Sandbox Code Playgroud)

但它抛出并索引越界错误.是否有一些类似的语法可行?

.net c# string dictionary split

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

是否需要为 Firebase RemoteConfig 提供默认值?

提供默认值是使用 RemoteConfig 时的步骤之一。它通常看起来像这样:

let sefaults: [String: NSObject] = [
        "key1" : "value1" as NSObject,
        "key2" : "value2" as NSObject
    ]
FIRRemoteConfig.remoteConfig().setDefaults(defaults)
Run Code Online (Sandbox Code Playgroud)

我发现 RemoteConfig 在没有上述情况的情况下工作得很好。以上是必须的吗?还有,它在做什么?似乎是一个空操作。

firebase swift3 firebase-remote-config

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

如何退出Mac上的Electron应用程序?

以下是Electron网站(https://electron.atom.io/docs/tutorial/quick-start/)的股票代码:

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})
Run Code Online (Sandbox Code Playgroud)

在Mac OS 10.12.4上,当调用上述内容时,它不会关闭应用程序.只有窗口.app.quit()在条件之上添加会关闭应用程序.他们是否留下了特定于Mac OS X的内容,阻止了应用关闭?

macos electron

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

如何在Spring Tool Suite中找到Spring版本?

我可以在首选项中找到 Spring Tool Suite 使用的 Java 版本。我在哪里可以找到它正在使用的 Spring 版本?

java spring

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

你用什么(免费)来格式化C#代码?

是否有任何VS.NET插件可以格式化选择的代码进行打印或电子邮件,也是免费的?

c# format visual-studio

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

为什么sqlite只插入一列?

我只获得插入数据库的第二个值.dataHold.Id有一个值,aTextField也是如此.但是,当我查看数据库时,未插入Id.下面的sqlite是否正确?

const char *sql = "insert into Userdata (Id, Name) Values(?, ?)";
    sqlite3_stmt *selectstmt;
    if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {
      sqlite3_bind_int(selectstmt, dataHold.Id, 1);
      sqlite3_bind_text(selectstmt, 2, [aTextField.text UTF8String], -1, SQLITE_TRANSIENT);
      sqlite3_step(selectstmt);
Run Code Online (Sandbox Code Playgroud)

sqlite iphone

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

格式化字符串输出的整数

在断点动作中,我要这样做:

@(const char *)[(NSString*)[myobject retainCount]UTF8String]@
Run Code Online (Sandbox Code Playgroud)

这给出了这个输出:

<Error: Cannot access memory at address 0x2>
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

@(NSString*)[myboject retainCount]@
Run Code Online (Sandbox Code Playgroud)

它输出一个内存地址.但如果我在代码中这样做:

NSLog(@"retain count is: %d", [myobject retainCount]);
Run Code Online (Sandbox Code Playgroud)

它给出了这个输出:

2009-04-18 09:58:48.085 myapp[80277:20b] retain count is: 1
Run Code Online (Sandbox Code Playgroud)

在断点操作中正确输出所需的语法是什么?

另外,在哪里可以找到断点操作的格式键的完整列表?

debugging xcode

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

为什么Cocoa不喜欢这个URL?

我想在Cocoa应用程序中提交以下URL并将结果保存为字符串(尽管XML可能更好):

http://translate.google.com/translate_t#en|fr|hi%20there%20all
Run Code Online (Sandbox Code Playgroud)

该页面不断返回错误.这是我的代码:

NSString *urlString = @"http://translate.google.com/translate_t#en|fr|hi%20there%20all";
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10];
NSData *urlData;
NSURLResponse *response;
NSError *error;
urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];

NSString *content = [[NSString alloc]  initWithBytes:[urlData bytes]
Run Code Online (Sandbox Code Playgroud)

以上导致URL变为:

http://translate.google.com/translate_t%23en%7Cfr%7Chi%2520there%2520all
Run Code Online (Sandbox Code Playgroud)

这导致了来自Google的404.如果我在没有转义的情况下尝试URL,我会返回零字节.关于如何使这项工作的任何想法?

---编辑---

问题的根源是url的值为nil.删除EscapesUsingEncoding行(第2行)并检查url的值.我在URL中的管道导致[NSURL URLWithString:urlString]; 返回零.使用十六进制值转义管道7C(http://translate.google.com/translate_t#en%7cfr%7chi%20there%20all)返回数据.但是我在NSString*内容行上再次获得零字节.

cocoa objective-c

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