小编Ben*_*ero的帖子

如何在Xcode Interface Builder中显示占位符背景?

如何在Xcode 7的Interface Builder中设置和显示自定义占位符背景?

Xcode 7添加了此功能,但我无法设置它.

通过选择"编辑器">"画布">"显示背景占位符",可以在Interface Builder画布上隐藏自定义视图和其他容器上的背景占位符.(20580948)

我已启用但没有任何更改,我找不到可以设置自定义占位符图像的位置:

Xcode的Editor菜单的Canvas子菜单已展开,选中了

xcode interface-builder ios xcode7

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

如何编写Swift中缀函数?

我已经看到了这一点,但我无法绕过它.不知何故,似乎神奇地,一些中缀函数工作正常,但其他函数根本无法编译.例如:

名为

正如你在这里看到的那样,我的then函数作为一个传统函数工作,但不是作为中缀函数,但我的函数*却有相反的问题.让我的then功能成为中缀的神奇之处是什么?

附带问题:为什么我的*功能不能作为传统功能工作?


纯文本阅读器和复制粘贴的代码:

public func * (let left:String, let right:Int) -> String {
    if right <= 0 {
        return ""
    }

    var result = left
    for _ in 1..<right {
        result += left
    }

    return result
}
*("Left", 6) // error: '*' is not a prefix unary operator
"Left" * 6   // "LeftLeftLeftLeftLeftLeft"

public func then (let left:String, let _ right:String) -> String {
    return left + right
}
then("Left", …
Run Code Online (Sandbox Code Playgroud)

infix-notation swift

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

有没有办法判断是否已初始化惰性var?

我不想初始化视图控制器,直到需要显示其视图。

lazy var foo: NSViewController! = {
    let foo = NSViewController()
    foo.representedObject = self.representedObject
    return foo
}()

// ...

override var representedObject: Any? {
    didSet {
        if foo != nil {
            foo.representedObject = representedObject
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

self.representedObject是在以前foo被引用之前设置的,但是每次调用时if foo != nil,它都会初始化foo:c

有没有什么办法,如果我可以测试foo已经被设置?

lazy-loading lazy-initialization swift

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

为什么我的IDEA项目不会构建?

我正在构建一个软件平台,并作为概念证明(并确定它需要什么),我正在构建一个名为Telegram RP的即时消息,使用我在此处列出的平台回购:https://github.com/BlueHuskyStudios/蓝赫斯基,软件平台

现在,我已决定将特定于JVM的代码与通用代码分开,但是在我第一步这样做时,它将无法编译.

我很难过.我已经对语言级别的可见性进行了三重检查,删除并重新添加了Git和IDEA模块,对依赖性层次结构进行了三重检查,确保了并行构建已关闭......但它仍然声称在构建时存在未解析的引用尽管编辑让我中间/控制点击导航到导入.

任何人都可以帮助我理解如何让它理解当我点击构建和运行时,它所抱怨的软件包实际上存在吗?


我鼓励您克隆这些并尝试在IDEA 2017.2中构建它们:

是我的设置的SSCCE,一旦克隆所有回购,它应该编译得很好:https://github.com/BenLeggiero/SO-SSCCE-45271471

这是包含有问题的项目的repo:https ://github.com/BenLeggiero/Telegram-RP (当我问这个问题时永久链接到repo)

具体来说,这个子仓库:https://github.com/BlueHuskyStudios/Husky-UI/tree/For-Telegram-RP

这是失败的路线:https://github.com/BlueHuskyStudios/Husky-UI/blob/6887f492c37583d82b49ebf36b12d68a3a1dcb32/JVM/src/org/bh/tools/ui/swing/Graphics%20Extensions.kt#L8

import org.bh.tools.ui.generic.geometry.FractionOval
                       ^ ~~~~~
Error:(8, 24) Kotlin: Unresolved reference: generic
Run Code Online (Sandbox Code Playgroud)

之前,我搬到桌面JVM的特定代码这并没有发生赫斯基UI /核心,赫斯基UI/JVM,所以我必须假设它涉及的是...我只是想不通为什么.


我的环境:

IntelliJ IDEA 2017.2
Build#IC-172.3317.76,建于2017年7月15日
JRE:1.8.0_152-release-915-b5 amd64
JVM:OpenJDK 64位服务器VM by JetBrains sro
Windows 10 10.0

compiler-errors build intellij-idea kotlin

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

如何在Objective-C中使用属性?

什么时候应该使用nonatomic,retain,readonlyreadwrite在Objective-C的属性?

例如:

@property(nonatomic, retain) NSObject *myObject;
Run Code Online (Sandbox Code Playgroud)

如果我使用nonatomicretain,这是否意味着该对象将被保留?

iphone properties object objective-c retain

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

默认情况下,当应用程序启动时,如何阻止我的NS按钮被选中?

我创建了一个按钮,但有一点问题:当我的应用程序启动时,按钮被选中.如何禁用此选择?

例:

一个带两个按钮的窗口. 第一个(左)在它周围有蓝色光晕,第二个(右)没有.

macos cocoa nsbutton

7
推荐指数
2
解决办法
1593
查看次数

怎么追加nsdata

我怎么可以追加nsdata,我会在第一条消息上附加lenght数据以便在socket上发送我使用这样的代码但是运行时出错.

int lendata = [message length];
NSData *firstdata = [NSData dataWithBytes: &lendata length: sizeof(lendata)];
NSData *mdata = [message dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *seconddata = [NSData dataWithData:mdata];
[firstdata appendData:secondata];
Run Code Online (Sandbox Code Playgroud)

请告诉我是否有其他方式感谢您的帮助.

cocoa-touch nsdata

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

NSNotFound的可用性是多少?

这个in-Xcode文档NSNotFound非常令人困惑:

它说"可在iOS 2.0到8.4中使用"和"可用性:iOS 8.1到8.0".那么...... 它在8.0之前可用吗?还是9.0+?此外,这里发生了什么,如果是的话?

code-documentation foundation ios

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

忽略/Path/To/Foo.appex中错误配置的插件:插件必须是沙箱

我在控制台中收到此消息:

错误行在Console.app中重复了很多次

此外,我的扩展程序不显示在系统偏好设置中: 系统偏好设置 (不,我不是在开发OneNote)


以下是我用来安装扩展程序的命令,每个命令都声称它成功了:

安装扩展的终端视图

这里证明扩展名确实是沙箱:

Xcode项目,显示AppEx及其沙盒特性


我能想象的唯一可能的问题涉及我们的代码签名过程.由于各种原因,它编译后进行了编码,使用如下命令:

codesign --force --entitlements "$ENTITLEMENT" --sign "$CODESIGN_ID" --deep "$APPEX_PATH"
Run Code Online (Sandbox Code Playgroud)

这是一项要求,遗憾的是,不能绕过.必须在生成工件进行协同设计appex.

但是,这在过去并不是一个问题.这就是说它已经做了一段时间,它运行良好.我能想到的唯一区别是,现在我们正在捆绑两个新.framework的......但是那些也签了,所以我不知道该怎么做.

当我从项目中删除框架并将代码签名转移到Xcode时,它可以工作......但这不是一个永久的解决方案,因为我们仍然需要在我们的流程中稍后手动编码.

如何安装此扩展程序保留我们的代码签名要求?

code-signing sandbox entitlements codesign macos-app-extension

7
推荐指数
0
解决办法
105
查看次数

为什么我的偏好窗格似乎认为它始终是错误的架构?

这已经很好地工作了很长时间.据我所知,差距我没有改变任何东西......但我不是百分百肯定.我所知道的是,当我尝试打开它时,现在我的首选项窗格显示了此错误:

一个模式表对话框说

当我按下OK时,它会重新启动并显示相同的对话框.这继续令人作呕.

我检查了二进制文件,file它确认它是一个64位可执行文件:

is-mbp-bleggiero:MacOS bleggiero$ file My\ App\ Preferences 
My App Preferences: Mach-O 64-bit bundle x86_64
Run Code Online (Sandbox Code Playgroud)

这是......苦乐参半.我在网上找到的所有建议都说这个错误意味着必须在32位版本的系统偏好设置中加载32位首选项窗格,据我所知,这不是导致此症状的原因.

我查看了Console.app,我在点击偏好设置面板后看到了这个:

default 16:05:02.162340 -0400   System Preferences  dlopen_preflight failed with dlopen_preflight(/Applications/My Company/My App.app/Contents/PlugIns/My App Preferences.prefPane/Contents/MacOS/My App Preferences): no suitable image found.  Did find:
    /Applications/My Company/My App.app/Contents/PlugIns/My App Preferences.prefPane/Contents/MacOS/My App Preferences: mach-o, but wrong architecture
    /Applications/My Company/My App.app/Contents/PlugIns/My App Preferences.prefPane/Contents/MacOS/My App Preferences: mach-o, but wrong architecture for /Applications/My Company/My App.app/Contents/PlugIns/My App Preferences.prefPane
Run Code Online (Sandbox Code Playgroud)

所以它认为我突然使用了错误的架构......?这里发生了什么?

nspreferencepane system-preferences

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