小编Ash*_*lls的帖子

如何制作数组的精确副本?

我如何精确复制数组?

我很难找到有关在Swift中复制数组的信息.

我试过用 .copy()

var originalArray = [1, 2, 3, 4]
var duplicateArray = originalArray.copy()
Run Code Online (Sandbox Code Playgroud)

arrays copy reference swift

86
推荐指数
4
解决办法
8万
查看次数

AVCaptureVideoPreviewLayer方向 - 需要景观

我的应用只是风景.我将这样呈现AVCaptureVideoPreviewLayer:

self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[self.previewLayer setBackgroundColor:[[UIColor blackColor] CGColor]];
[self.previewLayer setVideoGravity:AVLayerVideoGravityResizeAspect];                    
NSLog(@"previewView: %@", self.previewView);
CALayer *rootLayer = [self.previewView layer];
[rootLayer setMasksToBounds:YES];
[self.previewLayer setFrame:[rootLayer bounds]];
    NSLog(@"previewlayer: %f, %f, %f, %f", self.previewLayer.frame.origin.x, self.previewLayer.frame.origin.y, self.previewLayer.frame.size.width, self.previewLayer.frame.size.height);
[rootLayer addSublayer:self.previewLayer];
[session startRunning];
Run Code Online (Sandbox Code Playgroud)

self.previewView的框架为(0,0,568,320),这是正确的.self.previewLayer记录一个(0,0,568,320)的帧,这在理论上是正确的.但是,相机显示在横向屏幕中间显示为纵向矩形,并且相机预览图像的方向错误90度.我究竟做错了什么?我需要相机预览层出现在全屏幕,在横向模式下,图像应正确导向.

avfoundation orientation ios avcapture avcapturesession

56
推荐指数
6
解决办法
5万
查看次数

在Swift中将参数传递给选择器

我是以编程方式将UITapGestureRecognizer添加到我的一个视图中:

let gesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(modelObj:myModelObj)))

self.imageView.addGestureRecognizer(gesture)

func handleTap(modelObj: Model) {
  // Doing stuff with model object here
}
Run Code Online (Sandbox Code Playgroud)

我遇到的第一个问题是"#selector'的参数'没有引用'@Objc'方法,属性或初始值设定项.

很酷,所以我将@objc添加到handleTap签名:

@objc func handleTap(modelObj: Model) {
  // Doing stuff with model object here
}
Run Code Online (Sandbox Code Playgroud)

现在我收到错误"方法无法标记为@objc,因为参数的类型无法在Objective-C中表示.

它只是建筑物地图的图像,其中一些图像指示了兴趣点的位置.当用户点击这些引脚中的一个时,我想知道他们挖掘了哪个兴趣点,并且我有一个描述这些兴趣点的模型对象.我使用这个模型对象给它在地图上的坐标图像,所以我认为将对象发送到手势处理程序是很容易的.

selector uikit ios swift

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

UIImageJPEGRepresentation已被实例方法UIImage.jpegData(compressionQuality :)取代

我试图将照片上传到Firebase,但它给了我这个错误.它在Xcode 10之前工作.我收到此错误:

'UIImageJPEGRepresentation'已被实例方法'UIImage.jpegData(compressionQuality :)'取代

我不知道如何使用这个功能.

import UIKit
import Firebase

class SignUpViewController:UIViewController {
    @IBOutlet weak var profileImageView: UIImageView!
    @IBOutlet weak var tapToChangeProfileButton: UIButton!

    var continueButton:RoundedWhiteButton!
    var imagePicker:UIImagePickerController!

    override func viewDidLoad() {
        super.viewDidLoad()

          continueButton.addTarget(self, action: #selector(handleSignUp), for: 
          .touchUpInside)
        let imageTap = UITapGestureRecognizer(target: self, action: 
        #selector(openImagePicker))
        profileImageView.isUserInteractionEnabled = true
        profileImageView.addGestureRecognizer(imageTap)
        profileImageView.layer.cornerRadius = profileImageView.bounds.height / 2
        profileImageView.clipsToBounds = true

        imagePicker = UIImagePickerController()
        imagePicker.allowsEditing = true
        imagePicker.sourceType = .photoLibrary
        imagePicker.delegate = self
    }

    func uploadProfileImage(_ image:UIImage, completion: @escaping ((_ url:URL?)->())) {
        guard let uid = …
Run Code Online (Sandbox Code Playgroud)

ios swift swift4 ios12

39
推荐指数
3
解决办法
3万
查看次数

使用swift 3和xcode 8在几周和几天中的两个日期之间的差异

我试图计算两个日期之间的差异(一个是当前日期,另一个是来自datepicker),在几周和几天然后在标签上显示结果,这是我到目前为止所做的,我感谢更有经验的开发人员的帮助这里!

let EDD = datePicker.date
let now = NSDate()

let formatter = DateComponentsFormatter()
formatter.unitsStyle = .short
formatter.allowedUnits = [.day]
formatter.maximumUnitCount = 2   

let string = formatter.string (from: now as Date, to: EDD)

label.text = string
Run Code Online (Sandbox Code Playgroud)

date-comparison swift

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

SwiftUI 部分标题 - 使用非大写?

创建一个列表如下:

struct ContentView: View {
    var body: some View {
        List {
            Section(header: Text("Header")) {
                Text("Row 1")
                Text("Row 2")
            }
        }
        .listStyle(PlainListStyle())
    }
}
Run Code Online (Sandbox Code Playgroud)

在节标题中使用大写文本。

在此处输入图片说明

有没有办法强制标题文本保留其原始大小写?

swiftui swiftui-list ios14

27
推荐指数
3
解决办法
4545
查看次数

按键字母顺序排序NSDictionary值

我可以获取按值排序的字典键数组,但是如何获取按字典键排序的值数组?我一直在寻找没有运气的地方.任何帮助赞赏.

objective-c nsdictionary swift

24
推荐指数
1
解决办法
3万
查看次数

Facebook iOS SDK和swift:如何获取用户的个人资料图片

我已经在Xcode 6中集成了Facebook sdk(使用swift).在登录期间,我请求public_profile权限:

FBSession.openActiveSessionWithReadPermissions(["public_profile"], allowLoginUI: true, completionHandler: {
...
...
Run Code Online (Sandbox Code Playgroud)

所以我请求用户的信息:

FBRequestConnection.startForMeWithCompletionHandler { (connection, user, error) -> Void in
...
...
Run Code Online (Sandbox Code Playgroud)

为什么用户对象不包含个人资料图片?如何获取用户个人资料图片?它不是public_profile的一部分?

我得到以下信息:

2015-01-25 01:25:18.858 Test[767:23804] {
"first_name" = xxx;
gender = xxx;
id = xxxxxxxxx;
"last_name" = xxxxxx;
link = "https://www.facebook.com/app_scoped_user_id/xxxxxxxxx/";
locale = "xxxxx";
name = "xxxxxxx xxxxxxx";
timezone = 1;
"updated_time" = "2013-12-21T18:45:29+0000";
verified = 1;
}
Run Code Online (Sandbox Code Playgroud)

PS:隐私的xxx

facebook-graph-api ios facebook-ios-sdk swift

24
推荐指数
5
解决办法
4万
查看次数

Swift 2 - UnsafeMutablePointer <Void>到对象

如果我有一个像这样的方法:

func someMethod(contextPtr: UnsafeMutablePointer<Void>)
Run Code Online (Sandbox Code Playgroud)

我如何从中获取对象contextPtr

func someMethod(contextPtr: UnsafeMutablePointer<Void>){    
    let object:MyObject = contextPtr.memory
}
Run Code Online (Sandbox Code Playgroud)

得到:

'Void'不能转换为'MyObject'

什么是秘诀


更多详情:

我在这里做的是设置一个全局回调函数SCNetworkReachability:

func callback(reachability:SCNetworkReachability, flags: SCNetworkReachabilityFlags, info: UnsafeMutablePointer<Void>) {

    let r:Reachability = info.memory
}
Run Code Online (Sandbox Code Playgroud)

然后添加回调如下:

var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil)
var s = self
withUnsafeMutablePointer(&s) {
    context.info = UnsafeMutablePointer($0)
}
SCNetworkReachabilitySetCallback(reachability, callback, &context)
Run Code Online (Sandbox Code Playgroud)

pointers swift swift2

22
推荐指数
1
解决办法
9698
查看次数

增加UIPageViewController的UIPageControl中指标的大小

是否可以增加指标的大小UIPageViewController

我有这个:

我的要求是这样的:

uipagecontrol uipageviewcontroller swift

22
推荐指数
3
解决办法
1万
查看次数