我有一个UICollectionView自定义UICollectionViewCell,它应该从UIImageView单元格中的每个照片中获取并显示缩略图(低质量)照片(通常用户可以选择 1 张以上的照片)。
我一直在玩PHImageRequestOptions和它们的属性,阅读它们。我什至nil作为requestImage(for: PHAsset)方法的参数传递了这一点,因为我不确定我错在哪里。
问题是该requestImage(for: PHAsset)方法被调用了两次。我需要第一次调用它只是在每个集合视图单元格中设置图像质量低(缩略图图像),一旦全尺寸图像准备好,它应该被添加到一个名为assetsTurnedIntoImages. 问题是我做错了,我总是得到两次调用if该else方法,所以基本上,如果我从相机胶卷中选择了 4 张图像(因此,我在资产数组中有 4 张图像)以及何时通过 requestImage(for: asset) 方法我得到 8 个图像assetsTurnedIntoImages而不是 4 个。所以这是我的代码
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
print("Assets count is:", assets.count)
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPostCVCell", for: indexPath) as! PhotoPostCVCell
if let takenImage = cameraPhotoUIImage
{
cell.cellImage.image = takenImage
}
if assets.count > 0
{
let …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下方式运行我的unit和ui测试xcodebuild:
$ xcodebuild -scheme "MyAppScheme" -destination 'platform=iOS Simulator,name=iPhone 7 Plus,OS=11.0' build test CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
Run Code Online (Sandbox Code Playgroud)
问题是模拟器没有启动,而是漫不经心地运行。
我知道 XCode 9 中引入的所谓“无头模拟器”。关于如何使用xcodebuild模拟器运行测试和启动模拟器的任何想法?
我有一个应用程序,允许用户使用启动器应用程序通过首选项启用“登录时打开”(请参阅 https://en.atjason.com/Cocoa/SwiftCocoa_Auto%20Launch%20at%20Login.html)。但是,当我选中该框以启用它时,启动器应用程序将打开我的应用程序的另一个实例。
我一直在成功运行测试,直到 Xcode 8。在将 Xcode 更新到 9 和 9.0.1 并升级到 swift 4 之后,问题一个接一个地出现。
现在代码编译并启动应用程序(最终)但是在设置模拟器方向应用程序时崩溃并出现以下错误。
捕获的 nsinternalinconsistencyexception 活动在其范围完成后无法使用
这就是我设置方向的方式
XCUIDevice.shared.orientation = .portrait
Run Code Online (Sandbox Code Playgroud) 我在 Xcode 9(使用 SceneKit 技术的 macOS 游戏)中启动了新项目。我被故事情节包含NSWindowController与NSWindow和相关GameViewController用SCNView。项目运行良好(旋转飞机)。
现在在情节提要中,我将 Autosave 值设置为“MainWindow” NSWindow,运行项目,调整窗口大小,然后退出。我知道在退出窗口位置设置自动保存将使用 保存NSUserDefaults,所以我检查终端:
$ defaults read com.koati.Bloks ?
{
"NSWindow Frame MainWindow" = "415 228 450 322 0 0 1280 777 ";
}
Run Code Online (Sandbox Code Playgroud)
这是预期的行为。现在我再次运行项目,但我看到窗口位置没有恢复。如果在情节提要中删除GameViewController关系,则位置会被正确保存和恢复,所以我想这会GameViewController以某种方式影响窗口大小和位置。在带有 XIB 的旧 Xcode 中没有这样的问题。
编辑:经过一些测试后,我现在认为它与 SceneKit 完全无关,因为替换SCNView为NSViewinNSViewController会产生相同的结果。所以我认为问题是NSViewController通过 Storyboard 附加到NSWindow内容会影响窗口位置和大小。
也许有人知道如何解决这个问题?
使用 Xcode 9。
我创建了几个自定义文件模板。
创建新文件时,对话框底部会显示我的自定义模板。
我怎样才能让它们显示在顶部?
我已经在 Swift4 中有一条折线,如何将它的样式设置为虚线/虚线?
let path = GMSMutablePath(path: GMSPath())
for marker in markerList {
bounds = bounds.includingCoordinate(marker.position)
path.add(marker.position)
}
let polyline = GMSPolyline(path: path)
polyline.strokeColor = UIColor(named: "Primary")!
polyline.strokeWidth = 3.0
polyline.geodesic = true
polyline.map = mapView
Run Code Online (Sandbox Code Playgroud)
我有一个 NSTableView,我想使用 Interface Builder 方法对其进行排序,但我在 Apple 的指南和示例代码描述中遇到了问题。根据对原始问题的评论,我认为这个文档已经过时了,并且指向了错误的方向,所以我正在重写我的问题。
鉴于对默认 Cocoa 应用程序模板的以下添加:
class Foo: NSObject {
@objc dynamic var name : String
@objc dynamic var colour : String
override init() {
name = "name"
colour = "colour"
super.init()
}
init(_ name : String, _ colour : String) {
self.name = name
self.colour = colour
super.init()
}
}
class ViewController: NSViewController {
@objc dynamic var fooList : [Foo] = [Foo("Bar", "Red"),
Foo("Baz", "Green"),
Foo("Beelzebub", "Blue")]
}
Run Code Online (Sandbox Code Playgroud)
我已经添加的NSArrayController,并NSTableview在该视图控制器 …
我将我的项目从swift 3转换为swift 4并使用最新版本的xcode 9.在构建时,我收到以下错误:
Undefined symbols for architecture arm64:
"__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP", referenced from:
__T06SpotMi8CameraVCC12capturePhotoyypF in CameraVC.o
"__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0SaySo8NSNumberCGfg", referenced from:
__T06SpotMi8CameraVCC12capturePhotoyypF in CameraVC.o
ld: symbol(s) not found for architecture arm64
我没有线索.任何帮助都感激不尽.
干杯!
我刚刚开始编写单元测试,我遇到了一个问题.到目前为止,我已经在谷歌和stackoverflow上挖掘了不同的博客,但我无法解决这个问题.
每次我编写一个要测试的功能时,运行按钮(形状像钻石)都不会出现.显示的唯一运行按钮是Xcode在您创建新的单元测试目标时创建的默认函数.
这是问题的一个例子.
它可能是一个错误还是我错过了什么?