昨晚我在网上搜索一些程序,我注意到有一个有趣的测试,雇主有时会用这个测试来测试程序员,看看他们是否真的能把代码应用到一个现实世界的问题上。它被称为FizzBuzz测试,它的工作方式如下。
编写一个打印数字1到100的程序。但是,对于3的倍数,打印"Fizz“而不是数字和5的倍数,打印"Buzz”。如果数字是3和5的倍数,则打印“FizzBuzz”。
现在,我坐下来,非常快地想出了这段代码,我把它放在了我的viewDidLoad方法中:
for i in 1...100 {
if i % 3 = 0 && i % 5 == 0 {
我已经从另一个项目中添加了包含Objective类的文件到我的Swift项目中。在这些Obj类中,有一个称为char *类型的"decodedBuffer“的数据成员。我对C不是很熟悉,但我认为char指针是C表示字符串的方式。当我在Swift代码中尝试获取此数据成员时,例如编写以下行
myObjCClass.decodedBuffer = "a new value"
我在说decodedBuffer是UnsafePointer<Int8>类型时出错了。所以我有两个问题:
为什么char *是Swift中的UnsafePointer<Int8>
我在读取具有.rgba16Float像素格式的.rgba16Float时遇到了问题,主要原因是Swift似乎没有相应的SIMD4格式。
对于.rgba32Float,我可以简单地使用SIMD4< Float >格式,如下所示
if let texture = texture {
let region = MTLRegionMake2D(x, y, 1, 1)
let texArray = Array<SIMD4<Float>>(repeating: SIMD4<Float>(repeating: 0), count: 1)
我想用swift将数据发送到我的websocket服务器,但是websocket服务器写函数只接受字符串或数据类型。由于我没有为swift找到任何JSON.stringify选项,所以我使用swiftyJson创建了我自己类型的JSON,但现在我需要将其转换为数据,以便能够将其发送到服务器。 var json: JSON = ["name": "Jack", "age": 25]
socket?.send(data: json <-- This needs to be Data) 我尝试将JSON包装在数据(Json)
swift3中有一个长字符串,希望检查它是否包含word1、和 word2。它也可能是两个以上的搜索词。我发现了以下解决方案:
var Text = "Hello Swift-world"
var TextArray = ["Hello", "world"]
var count = 0
for n in 0..<TextArray.count {
if (Text.contains(TextArray[n])) {
count += 1
}
}
if (count == TextArray.count)
使用Swift,我有一个大约30个字符串的数组(每个字符串是一个单词)。我也有一个变量字符串,我想检查这个字符串是否在数组中有一个匹配的值。
我的问题是,从效率的角度来看,我是否应该使用:
if myArray.contains("MyString") {
//Do stuff
}
或者我应该循环通过它?
for i in 0..<myArray.count {
if myArray[i] == "MyString" {
//Do stuff
}
}
我对Swift很感兴趣,而且已经开始了,但我不能解决这个问题:
func countvalue(tableau : [String]){
var b : Int = 0
for var b in tableau {
b++ // Unary operator '++' cannot be applied to an operand of type @lvalue String'
}
print("Il y a \(b) valeurs dans ce tableau.")
}
我有Swift代码,在特定条件下,我可以减少或增加int值。我怎么才能用颤栗来复制这个呢?这是我的Swift代码。
// 2. Decrease Value -= from NumberOnes
let decreaseRef = self.ref.child("NumberOnes/\(myfav1)/Value")
decreaseRef.runTransactionBlock { (currentData: FIRMutableData) -> FIRTransactionResult in
if var data = currentData.value
我正在尝试转换以下Swift 2.3代码:
//Example usage:
//(0 ..< 778).binarySearch { $0 < 145 } // 145
extension CollectionType where Index: RandomAccessIndexType {
/// Finds such index N that predicate is true for all elements up to
/// but not including the index N, and is false for all elements
我想将数据写入一个文件,如果文件不存在,,创建它,否则重写它,。我正在使用Swift。这就是我在学习Swift的时候尝试过的:
//Get documents directory
let docDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).last as? String
//get file path, I write data to this file
let filePath = docDir!.stringByAppendingPathComponent(“myF
我希望使用领域来持久化数据,因为它似乎比核心数据更容易学习和使用。
然而,我仍然不清楚其中一些方面,其中之一是使用领域列表。
例如,我现在有这样的东西:
class Foo {
var a: String
var b: [Bar]
var average: Double {
return Double(b.reduce(0.0, combine: {$0 + $1.c})) / Double(b.count);
}
//...
}
class Bar {
var c: Float
var d: NSDate
/
SWIFT2.0 popLast()在数组上工作,如下所示:
var arr = [1,2,3]
let i = arr.popLast()
现在,arr是1,2,而i是3(包装在一个可选的)中。
但是,虽然也有一个popFirst(),但它不编译。我很肯定以前是这样,但现在不是了:
var arr = [1,2,3]
let i = arr.popFirst() // compile error
这里发生了什么事?这个方法什么时候才能实际使用?