我有以下警卫片,它产生的错误是"护卫体可能无法通过".怎么了?
guard NSFileManager.defaultManager().fileExistsAtPath(appBundlePath) else {
print("App bundle doesnt exist")
}
Run Code Online (Sandbox Code Playgroud) 在我的旧代码的几个案例中,我收到警告:
考虑用'_'代替不可变值X
例如,如果我检查具有关联对象的枚举(但在这种情况下我不使用该对象),或者如果我使用'If let'构造来检查对象是否为零,则通常会发生这种情况. .
通过这些警告并做出改变并没有太多困扰我,但我想知道是否有人知道为什么这是建议 - 为什么还要警告我们这个?它会以任何方式影响性能吗?
使用原始的swift,我可以使用以下语法将NSSet(例如Strings)转换为类型化数组:
var stringArray = exampleSet.allObjects as [String]
Run Code Online (Sandbox Code Playgroud)
随着新的更新我得到上述错误.现在将Set转换为数组的最佳方法是什么?
如何将所有属性设置NSMutableAttributedString为空?你必须通过它们进行枚举并删除它们吗?
我不想创建一个新的.我工作的textStorage在NSTextView.设置新字符串会重置光标位置NSTextView并触发委托.
我正在尝试在Swift中复制一些Objective C cocoa.一切都很好,直到我遇到以下情况:
// Set a new type and creator:
unsigned long type = 'TEXT';
unsigned long creator = 'pdos';
Run Code Online (Sandbox Code Playgroud)
如何从单引号字符文字中创建Int64(或正确的Swift等价物)?
类型:
public typealias AEKeyword = FourCharCode
public typealias OSType = FourCharCode
public typealias FourCharCode = UInt32
Run Code Online (Sandbox Code Playgroud) 我在Swift中有一个NSFormatter,它附加到NSTextField.它可以防止输入非法字符,但是当我尝试访问下一个字段的值时,它会给出一个nil值.
以下是课程:
class PSEntryNameFormatter : NSFormatter {
override func stringForObjectValue(obj: AnyObject?) -> String? {
if obj == nil {
println("stringForObjectValue: obj is nil, returning nil")
return nil
}
if let o = obj as? String {
println("stringForObjectValue: obj is string, returning \(o)")
return o
}
println("stringForObjectValue: obj is not string, returning nil")
return nil
}
override func getObjectValue(obj: AutoreleasingUnsafeMutablePointer<AnyObject?>, forString string: String, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>) -> Bool {
println("getObjectValue: \(string)")
let obj = string
return true
}
override func isPartialStringValid(partialString: …Run Code Online (Sandbox Code Playgroud) 我有一个CALayer托管视图,我希望能够缩放,滚动并单击.如果我将其嵌入滚动视图,滚动工作正常,但缩放会导致内容飞到各处.如果我没有将它嵌入到scrollview中,我可以使用CATransform3DMakeScale很好地进行缩放,但是我在平移时遇到问题,并且能够选择对象.
在我尝试用错误的选项解决之前,建议的方法是什么?
(如果你有任何类似的东西,我会非常感激看到它.)
我收到以下警告,没有提到它发生的行:
warning: integer overflows when converted from 'Builtin.Int32' to 'Builtin.Int8'
Run Code Online (Sandbox Code Playgroud)
此代码中出现警告:
extension NSPoint {
func ToString() -> String {
return "(" + self.x.description + "," + self.y.description + ")"
}
func Plus(toBeAdded : NSPoint) -> NSPoint {
return NSPoint(x: self.x + toBeAdded.x, y: self.y + toBeAdded.y)
}
func Minus(toBeMinused : NSPoint) -> NSPoint {
return NSPoint(x: self.x - toBeMinused.x, y: self.y - toBeMinused.y)
}
static func fromScalar(scalar : Int) -> NSPoint {
return NSPoint(x: scalar, y: scalar)
}
}
Run Code Online (Sandbox Code Playgroud)
NSPoint初始化程序需要Int,所以我不会立即知道为什么会这样 …
我有一个很大的NSTableView只有几个项目,由gridlines /分隔符分隔.一切都很好,除了在项目下面,是一堆网格线,空项目.如何显示存在的项目的网格线,但是只有非存在项目的简单背景?
注意:UITableView有一种设置footerView的方法 - 使用NSTableView不可能使用相同的方法,否则只会将大空视图设置为页脚...
swift ×6
objective-c ×3
macos ×2
swift2 ×2
calayer ×1
cocoa ×1
int ×1
ios ×1
nsformatter ×1
nsscrollview ×1
nsset ×1
nstableview ×1
nsview ×1
warnings ×1