我已经以UICollectionView编程方式创建了我的didSelectItemAtIndexPath方法,在这种情况下,我的方法根本不会调用。
let collectionView = UICollectionView(frame: CGRect(x: 0, y: 0, width: CGRectGetWidth(self.view.frame), height: 360), collectionViewLayout: layout)
collectionView.delegate = self
collectionView.dataSource = self
collectionView.userInteractionEnabled = true
Run Code Online (Sandbox Code Playgroud)
那么,有什么问题呢?为什么当我点击单元格时我没有得到回应?
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print("Selected Cell: \(indexPath.row)")
}
Run Code Online (Sandbox Code Playgroud) 我有一个项目,我发送.GET请求从服务器获取数据,为此我使用Alamofire和SwiftyJSON.
例如:
我有文件"链接","请求"和我的ViewController.
Links.swift
var getAllData: String {
return "\(host)api/getalldata"
}
Run Code Online (Sandbox Code Playgroud)
Requests.swift
func getAllData(_ completion:@escaping (_ json: JSON?) -> Void) {
Alamofire.request(Links.sharedInstance.getAllData).validate().responseJSON { (response) in
do {
let json = JSON(data: response.data!)
completion(json)
}
}
}
Run Code Online (Sandbox Code Playgroud)
视图控制器
Requests.sharedInstance.getAllData { (json) in
// ...
}
Run Code Online (Sandbox Code Playgroud)
那么,我怎样才能为这个案例编写单元测试?我刚刚学习单元测试,在所有书籍中只有本地案例,没有网络案例的例子.请允许任何人描述我并帮助如何使用Alamofire和SwiftyJSON编写网络请求的单元测试?
我正在尝试计算2个坐标之间的距离.为此我做:
func setupLocationManager() {
if CLLocationManager.authorizationStatus() == .NotDetermined {
locationManager.requestWhenInUseAuthorization()
}
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let latitude = locations.last?.coordinate.latitude
let longitude = locations.last?.coordinate.longitude
let myLocation = CLLocation(latitude: latitude!, longitude: longitude!)
let targetLocation = CLLocation(latitude: 41.4381022, longitude: 46.604910)
let distance = myLocation.distanceFromLocation(targetLocation)
print(distance)
}
Run Code Online (Sandbox Code Playgroud)
我正在检查谷歌地图有13公里的距离!但我的应用程序显示我2-3公里!
我怎样才能改善这一点?
我现在正在阅读Swift 3书,并在那里发现了这一行:
func sumOf(numbers: Int...) -> Int {
}
Run Code Online (Sandbox Code Playgroud)
而且只有这样的描述:
Functions can also take a variable number of arguments, collecting them into an array.
Run Code Online (Sandbox Code Playgroud)
我没有得到那(numbers: Int...)意味着什么.有人可以解释一下吗?
我想创造这样的东西:
我试过这个:
var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
var blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
view.addSubview(blurEffectView)
Run Code Online (Sandbox Code Playgroud)
但这会造成非常暗的模糊。但我需要半径为 2pt 的完全暗模糊(黑色)。
我可以在 Swift 中实现吗?