我之前一直在使用Xcode 6来编写我的Swift应用程序.我现在已升级到Xcode 7并升级了我的Swift语法.
以前,当我对我的应用程序进行存档时,我确信在查找器中查看时它的大小只有12MB左右.现在,它更大(112MB).
我现在已经在我的构建设置中禁用了捆绑包,正如其他一些帖子所建议的那样,这使归档文件降至74.9MB.
麻烦的是上传这些大文件的大小在我的互联网连接上变得非常沉重,并且需要很长时间才能通过Apple iTunes连接进行处理.
因为我使用Xcode 7,有没有办法减少存档的大小?
我又回来了.
我正在使用Xcode 7在Swift中编写一个应用程序.我添加了一个导航控制器,并在其上添加了导航项,然后是一个条形按钮.我正在尝试将条形按钮的图像更改为我已导入Xcode的png.但是,它只是在设计中以及运行应用程序时显示了这一点.它只是在导航区域显示蓝色污迹.
我已经尝试将图像导入到项目中,也尝试导入到具有相同结果的images.xcassets中.
谁知道这里可能有什么问题?
这是我一直试图添加的图像和我目前的设置.
设置:
我正在使用Swift在Xcode上编写一个连接到蓝牙BLE外设的应用程序.我已经建立了与设备的连接,并希望从特定特征中读取一些数据(特别是服务UUID FFF0中的FFF1).
如果我想查找信息的特征是characteristicx
:我可以使用以下代码请求读取特征:
peripheral.readValueForCharacteristic(charactericsx)
Run Code Online (Sandbox Code Playgroud)
我想知道的是:我如何检查这个读取值是我正在寻找的.我希望能够执行if语句来检查我的值与该特征的已发现值.
例如:如果发现值为X则执行某些操作,否则如果发现的值为Y则执行其他操作.
这不是我想要做的很好的解释,但我希望你能得到主旨.
有谁知道怎么做这个?
我的Swift应用程序遇到了一个奇怪的问题.我正在尝试创建一个UITableViewCell
使用我创建的自定义单元格.
我在单元格中有一个空标签和一个文本标签.通过设置backgroundColor
一些R,G,B颜色,可以简单地对空标签进行着色.
但是,当我在表格中选择和取消选择行时,标签的背景颜色会消失.这种情况发生,直到我将单元格滚出视图并再次返回视图,然后再次向我显示颜色.
这里有一些截图来说明发生了什么:
这是我选择颜色时的样子 - 它似乎将标签背景颜色更改为透明.它不应该这样做
当然,我不希望这种情况发生.目的是使标签颜色保持不变.
这是我的代码 cellForRowAtIndexPath
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ScenesTableCell
cell.sceneNameLabel.text = scenesArr[indexPath.row].sceneName
let red = scenesArr[indexPath.row].sceneCol[0]
let green = scenesArr[indexPath.row].sceneCol[1]
let blue = scenesArr[indexPath.row].sceneCol[2]
let brightness = scenesArr[indexPath.row].sceneBrightnessMultiplier
cell.colourIndicatorLabel.layer.backgroundColor = UIColor(red: CGFloat(red), green: CGFloat(green), blue: CGFloat(blue), alpha: CGFloat(brightness)).CGColor
cell.colourIndicatorLabel.layer.cornerRadius = 5
cell.colourIndicatorLabel.layer.borderWidth = 1
cell.colourIndicatorLabel.layer.borderColor = UIColor(red: 77.0/255.0, green: 146.0/255.0, blue: 203.0/255.0, alpha: 1.0).CGColor …
Run Code Online (Sandbox Code Playgroud) 我一直在使用XCode和Swift创建一个应用程序以连接到蓝牙设备(已连接LED色带),并且编写了一段代码来使其变色。
使用蓝牙嗅探器,我知道我需要发送“ 52130056FF000000AA”的值,在此示例中,它将使其变为红色。这是我已经编写的代码的一部分。Characteristicx在此代码之前定义。
let data: NSData = "52130056FF000000AA".dataUsingEncoding(NSUTF8StringEncoding)!
peripheral.writeValue(data, forCharacteristic: characteristicx, type: CBCharacteristicWriteType.WithoutResponse)
Run Code Online (Sandbox Code Playgroud)
这段代码将转换为此给出的十六进制字符串,我不想发送该字符串。'<35323133 30303536 46463030 30303030 4141>'
所以,问题是,如何让Swift将52130056FF000000AA仅发送到BLE设备,而不发送到转换后的字符串?这里的问题是writeValue命令需要NSData(据我所知),我不确定如何使用纯十六进制字符串作为以NSData形式发送的数据。
希望有人可以帮忙!任何帮助甚至建议,将不胜感激。
我正在使用 Woocommerce 创建一个 Wordpress 网站,并使用可变产品。我知道如何更改产品变体的缺货文本,但我想知道当我根本没有添加变体时如何更改缺货文本(即将产品类型设置为可变产品并添加无变体)。
目前,默认显示的文本是:“该产品目前缺货且不可用。”
我将如何更改该文本?
我正在使用 Alamofire 5(测试版 1)为 WooCommerce 编写 API 客户端,这将允许我获取订单、优惠券等以及创建它们。注意我正在使用新.responseDecodable
功能。
我已经使用以下performRequest
函数设置了我的 API 客户端,如下所示:
@discardableResult
private static func performRequest<T:Decodable>(route: APIConfiguration,
decoder: JSONDecoder = JSONDecoder(),
completion: @escaping (Result<T>)->Void) -> DataRequest {
return AF.request(route)
.responseDecodable(decoder: decoder) { (response: DataResponse<T>) in
completion(response.result)
}
}
Run Code Online (Sandbox Code Playgroud)
这很有效,因为例如,我可以调用一个函数getCouponForId(_ id: Int)
,该函数将执行此函数并通过完成处理程序返回响应。
唯一的缺点是,假设用户尝试访问不存在的优惠券,他们将收到错误(来自服务器的 404)。我可以打开结果以确定 asuccess
或failure
case,但 Alamofire 尝试将错误响应的主体解码到Coupon
我创建的模型中。
展望未来,我创建了一个错误模型,我打算使用它来解码错误。但是话虽如此,我在将它实现到这个函数中时遇到了麻烦。
有没有人对我如何处理这个有任何想法?
(我通过遵循本指南创建了此功能 - 希望它可以为我正在做的事情提供更多背景信息。https://github.com/AladinWay/NetworkingExample)
ios ×5
swift ×4
bluetooth ×2
xcode ×2
alamofire ×1
archive ×1
colors ×1
custom-cell ×1
nsdata ×1
uitableview ×1
woocommerce ×1
xcode7 ×1