Tag: swift3

尝试在Swift 3中保存自定义对象时尝试插入非属性列表对象

我有一个符合NSCoding协议的简单对象。 import Foundation class JobCategory: NSObject, NSCoding { var id: Int var name: String var URLString: String init(id: Int, name: String, URLString: String) { self.id = id self.name = name self.URLString = URLString } // MARK: – NSCoding required init(coder aDecoder: NSCoder) { id = aDecoder.decodeObject(forKey: "id") as? Int ?? aDecoder.decodeInteger(forKey: "id") name = aDecoder.decodeObject(forKey: […]

Swift 3对'sd_setImage(with:placeholderImage:completed :)'的模糊使用

我在我的SDWebImage上使用SDWebImage进行了以下调用,这对于Swift 2工作正常,但是在使用Swift 3进行XCode 8 beta 5编译时出现错误: imageView.sd_setImage(with:url, placeholderImage:placeholder, completed: { (image: UIImage?, error: Error?, cacheType: SDImageCacheType, imageURL: URL?) in … }); 错误是: 模糊使用'sd_setImage(with:placeholderImage:completed :)' 我怀疑我在完成的处理程序的签名中出现了错误,但我无法弄清楚语法应该是什么。 我错过了什么?

button显示图像和文字

我正试图通过button显示一些文本和图像。 我正在使用这里的代码 let btnSort = UIButton.buttonWithType(UIButtonType.System) as! UIButton btnSort.frame = CGRectMake(2, 74, 140, 26) btnSort.tintColor = UIColor.whiteColor() btnSort.setImage(UIImage(named:"immgg"), forState: UIControlState.Normal) btnSort.imageEdgeInsets = UIEdgeInsets(top: 6,left: 100,bottom: 6,right: 14) btnSort.titleEdgeInsets = UIEdgeInsets(top: 0,left: -30,bottom: 0,right: 34) btnSort.setTitle("SORT", forState: UIControlState.Normal) btnSort.layer.borderWidth = 1.0 btnSort.layer.borderColor = UIColor.whiteColor().CGColor btnSort.addTarget(self, action: Selector("showSortTbl"), forControlEvents: UIControlEvents.TouchUpInside) self.view.addSubview(btnSort) 我可以在正确的地方看到图像,但是文字没有出现。 我认为titleEdgeInsets不工作。

Swift 3核心数据删除对象

不幸的是,新的核心数据语义使我疯狂。 我以前的问题有一个干净的代码,因为不正确的自动生成头文件不起作用。 现在我继续我的工作,删除对象。 我的代码似乎很简单: func deleteProfile(withID: Int) { let fetchRequest: NSFetchRequest<Profile> = Profile.fetchRequest() fetchRequest.predicate = Predicate.init(format: "profileID==\(withID)") let object = try! context.fetch(fetchRequest) context.delete(object) } 我用print(object)而不是context.delete(object)做了一个“硬”的debugging,它向我展示了正确的对象。 所以我只需要删除它。 PS没有deleteObject 。 现在NSManagedContext只有public func delete(_ sender: AnyObject?)

如何处理iOS 10中的用户通知操作

所以我可以安排这样的通知; //iOS 10 Notification if #available(iOS 10.0, *) { var displayDate: String { let dateFormatter = DateFormatter() dateFormatter.dateStyle = DateFormatter.Style.full return dateFormatter.string(from: datePicker.date as Date) } let notif = UNMutableNotificationContent() notif.title = "I am a Reminder" notif.subtitle = "\(displayDate)" notif.body = "Here's the body of the notification" notif.sound = UNNotificationSound.default() notif.categoryIdentifier = "reminderNotification" let today […]

调用可以抛出,但没有用'try'标记,错误不被处理:NSRegularExpression

我已经写了这个函数在string扩展,并不能找出错误。 func isEmail() -> Bool { let regex = NSRegularExpression(pattern: "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[AZ]{2,4}$", options: [.CaseInsensitive]) return regex.firstMatchInString(self, options: nil, range: NSMakeRange(0, characters.count)) != nil } 错误是: 调用可以抛出,但没有用“try”标记,并且不处理错误

如何在Swift 3中使用NSLocale获取国家代码

你可以请帮忙在Swift 3使用NSLocale获取国家代码吗? 这是我以前使用的代码。 NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as! String 我可以在Swift 3中获得如下语言代码。 Locale.current.languageCode! 正如我所看到的,获取languageCode是直接的,但countryCode属性不可用。

如何设置标签高度自动调整阅读更多/更less使用Swift 3?

我想在最后创build带有Read More / Read Less的段落。 这是我的代码; func getLabelHeight(text: String, width: CGFloat, font: UIFont) -> CGFloat { let lbl = UILabel(frame: .zero) lbl.frame.size.width = width lbl.font = font lbl.numberOfLines = 0 lbl.text = text lbl.sizeToFit() lbl.adjustsFontSizeToFitWidth = true return lbl.frame.size.height } @IBAction func btnReadMore(_ sender: Any) { if isLabelAtMaxHeight { btnReadmore.setTitle(NSLocalizedString("Read more", comment: ""), for: .normal) […]

如何在带有Swift 3的BWWalkthrough View Controller中添加标签?

我在我的应用程序中使用BWWalkthrough库来制作幻灯片图片。 我在每张幻灯片中添加标题和消息标签 。 我想翻译成每个标签。 所以,我将标签拖到IBOutlet并在ViewDidLoad添加NStranslation文本。 但是,当我运行代码时,我得到了致命的错误。 这是我的代码。 在BWWalkthroughPageViewController.swift , @IBOutlet weak var lblTitle1: UILabel! override open func viewDidLoad() { super.viewDidLoad() lblTitle1.text = NSLocalizedString("Date:", comment: "") self.view.layer.masksToBounds = true subviewsSpeed = Array() for v in view.subviews{ speed.x += speedVariance.x speed.y += speedVariance.y if !notAnimatableViews.contains(v.tag) { subviewsSpeed.append(speed) } } } 我在这些代码(BWWalkthroughViewController.swift)中出现错误。 viewController.view.translatesAutoresizingMaskIntoConstraints = false 和lblTitle1.text = NSLocalizedString(“Date:”,comment:“”) […]

如果用户通过Facebooklogin,如何以编程方式启动到另一个viewController

基本上我有一个名为facebookLogin.swift的类,login页面和ViewController.Swift的主页。 我已经正确编码所有的Facebooklogin的东西,它的一切工作,我可以login和注销FBSDK提供的button以及我定义的自定义button。 但是,我不知道如何进入ViewController.swift页面,如果用户login。 这里是facebookLogin.swift代码: import UIKit import FBSDKCoreKit import FBSDKLoginKit class facebookLogin: UIViewController, FBSDKLoginButtonDelegate { var loginStatus = false; @IBOutlet weak var facebookOutlet: UIButton! override func viewDidLoad() { super.viewDidLoad() super.viewDidLoad() let loginButton = FBSDKLoginButton() view.addSubview(loginButton) loginButton.center = view.center loginButton.delegate = self; loginButton.readPermissions = ["email","public_profile"] } @IBAction func facebookAction(_ sender: Any) { customFBLogin() if (FBSDKAccessToken.current() != […]