Tag: swift3

如何将Prefs的值数据从视图控制器传递到里面的表格视图单元与SWIFT 3?

在Home.swift中 , 我编写数据传递的代码。 这是代码。 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let mainThemeList = mainHomeThemeTable[(indexPath as NSIndexPath).row] DispatchQueue.main.async { self.prefs.set(mainThemeList.main_associated_url, forKey: "associated_home_url") self.prefs.set(mainThemeList.main_name, forKey: "associated_name") } let cell = tableView.dequeueReusableCell(withIdentifier: "homecell") as! HomeCategoryRowCell DispatchQueue.main.async { cell.categoryTitle.text = mainThemeList.main_name cell.mainAssociatedURL.text = mainThemeList.main_associated_url debugPrint("Sandy Name:::::\(mainThemeList.main_name)") debugPrint("Sandy URL:::::::\(mainThemeList.main_associated_url)") cell.collectionView.reloadData() } return cell } <br> debugging结果是: […]

如何比较JSON APIdate与FSCalendar和在tableview中显示事件?

我已经在日历中显示事件点,但不能显示在tableview中的月份相同的事件,我想显示这些事件,如果我们改变月和tableview数据事件应该改变,我很困惑如何做到这一点。 我使用FSCalendar来显示点和tableview中的事件。 import UIKit import Alamofire import SwiftyJSON import ToastSwift class CalendarViewController: UIViewController , UITableViewDataSource, UITableViewDelegate, FSCalendarDataSource, FSCalendarDelegate , FSCalendarDelegateAppearance{ @IBOutlet weak var tableview: UITableView! @IBOutlet weak var menu: UIBarButtonItem! @IBOutlet weak var calendar: FSCalendar! var strcond : NSString? var calendarEvents : [Calendars] = [] fileprivate lazy var dateFormatter2: DateFormatter = { let formatter = […]

协议委托方法不在Swift中调用

协议委托方法不被称为.. 第一视图控制器代码 class ViewController: UIViewController,customDelegate { var seconviewcontroller : SecondViewController = SecondViewController() @IBOutlet weak var Label: UILabel! override func viewDidLoad() { super.viewDidLoad() seconviewcontroller.delegate = self } func didSelectData(_ result: String) { Label.text = result print("Didselect Data Call") } 第二个视图控制器代码 import UIKit protocol customDelegate: class { func didSelectData(_ result: String) } class SecondViewController: UIViewController { var […]

select器来获取indexPath UICollectionView Swift 3.0

我试图获得两次点击单元格上的indexPath 。 我在这样的Selector传递参数,但它给错误。 这是什么正确的格式? func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { if let subOptioncell : SubOptionsCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: subOptionsCVReuseIdentifier, for: indexPath) as! SubOptionsCollectionViewCell let imageNamed = "\(customizeOptionSelected[indexPath.row])" subOptioncell.subOptionsImage.image = UIImage(named: imageNamed) let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped(sender: indexPath))) tap.numberOfTapsRequired = 2 collectionView.addGestureRecognizer(tap) return subOptioncell } } func doubleTapped(sender: IndexPath) { print("Double […]

如何获得主包中子文件夹的path?

我有一个项目,我正在从Obj-C迁移到Swift 3.0(而且我在Swift中是个不错的select)。 我如何翻译这一行? NSString *folder = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myfolder"]; 我设法得到资源path: let resoursePath = Bundle.main.resoursePath; 但是,如何获得名为“myfolder”的子文件夹? 我需要得到一个path的子文件夹,而不是path里面的文件。

无法使用应用程序组访问NSUserDefaults

我正在开发一个应用程序和一个widget,widget需要从app获取数据。 我用下面的代码来读写NSUserDefaults。 而且我还使用了$(PRODUCT_BUNDLE_IDENTIFIER).widget作为窗口小部件, $(PRODUCT_BUNDLE_IDENTIFIER)引用了这个post。 但小部件无法从应用程序或NSUserDefaults获取数据。 我怎样才能使它工作? func addTask(name: String?){ let key = "keyString" tasks.append(name!) let defaults = NSUserDefaults(suiteName: "group.Mins") defaults?.setObject(tasks, forKey: key) defaults?.synchronize() } /////// let defaults = NSUserDefaults(suiteName: "group.Mins") let key = "keyString" if let testArray : AnyObject = defaults?.objectForKey(key) { let readArray : [String] = testArray as! [String] timeTable = readArray timeTable = […]

退出应用程序会导致错误“来自debugging器的消息:由于信号9而终止”

我正在编写一个基本的音乐播放器应用程序,但在处理应用程序状态转换时遇到一些问题。 我正在使用Swift 3和MPMusicPlayerController.systemMusicPlayer() 目标是这样的: 1)当用户点击主页button和应用程序进入BG(作品)保持音乐播放 2)停止播放器(myMP.stop())如果用户退出应用程序(有时工作,其他时间抛出错误) 我使用基于可能的行为的打印语句来追踪stream程,并得到这样的结果: stream程2是我所期望的,但stream程1在应用程序closures时抛出一个错误 – 我期望在这里终止。 编辑:主要的问题是,当退出应用程序使用stream程1,“将终止”永远不会被调用 – 因此,“myMP.stop()”永远不会被调用,玩家继续播放应用程序退出后。 如果您在应用程序处于活动状态时单击Home(stream程1)或双击(Flow 2),则行为会有明显差异。 为什么我会从同样的行为中得到两个不同的回应? 编辑:最重要的是,如果它永远不会“终止”,我该如何停止MediaPlayer的stream1? 编辑: 以下是一些复制问题的示例代码: AppDelegate.swift // // AppDelegate.swift // Jumbo Player // import UIKit //import MediaPlayer //doesn't matter where this is declared – here or in ViewController – same results //let myMP:MPMusicPlayerController = MPMusicPlayerController.systemMusicPlayer() @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { […]

如何使用本地Swift方式来读取Swift 3中的Plist?

我已经在Swift 2中使用了这个方法 var myDict: NSDictionary? if let path = NSBundle.mainBundle().pathForResource("Config", ofType: "plist") { myDict = NSDictionary(contentsOfFile: path) } 但不知道如何在不使用NSDictionary(contentsOfFile:path)的情况下读取Swift3中的plist

适用于iOS的GoogleMaps SDK – SWIFT 3:当隐藏标记,然后添加地图视图时,cpu陷入100%

脚本 UIViewController在viewDidLload中将GMSMapView设置为GMSMapView 一个方法将创build标记并将其存储在self.markers ,并将marker.map设置为marker.map self.view as! GMSMapView self.view as! GMSMapView 到目前为止,该应用程序performance良好 稍后,另一种方法(查看切换这些标记)将所有self.markers.map设置nil 到这里一切顺利,标记从地图上消失 再一次,希望这些标记返回的另一种方法,将所有self.markers.map = self.view as! GMSMapView设置self.markers.map = self.view as! GMSMapView self.markers.map = self.view as! GMSMapView 这里的CPU卡在100%(在8核心机器模拟器上) 如果self.markers.map被重置nil ,则CPU会回到self.markers.map %,并且都是好的。 题 这是对cpu或GoogleMaps SDK的限制吗? 有没有办法避免这个问题? 重现步骤 在提取相关的代码之后,我也添加了类似的条件,其中标签被创build为另一个标记的图标。 经过一些testing后,似乎只与处理标记的数量有关。 看到LabelCount并设置为不同的值,在我的CPU中,问题出现在200,但没有100标记(即:400标记,因为有一个额外的标记标记) 示例代码 import UIKit import GoogleMaps class ViewController: UIViewController { // The problem is noticed when markers […]

Swift照片库访问

我想从我的应用程序中的用户的照片库访问照片,我正在看UIImagePickerController这样做。 但是,我想知道是否有可能访问和查看照片库中的照片,而不是实际存储在应用程序中的照片? 所以基本上应用程序将存储对所选照片的​​引用,而不是自己存储照片。 这是为了防止应用程序占用大量的空间来存储每张照片。 谢谢!