我正在尝试通过以下代码从数据框中选择列。
library(dplyr)
dv %>% select(LGA)
select(dv, LGA)
Run Code Online (Sandbox Code Playgroud)
他们都将因错误而失败
无法为签名“data.frame”找到函数“select”的继承方法
但是下面的代码就可以了。
dplyr::select(dv, LGA)
Run Code Online (Sandbox Code Playgroud)
这是包中的功能冲突吗?
导入的所有库如下。
library(jsonlite)
library(geojsonio)
library(dplyr)
library(ggmap)
library(geojson)
library(leaflet)
library(mapview)
library(RColorBrewer)
library(scales)
Run Code Online (Sandbox Code Playgroud)
我是 R 的新手,所以非常困惑你们如何处理这样的问题?
我想知道Swift 4变量是否是原子的.所以我做了以下测试.
以下是我的测试代码.
class Test {
var count = 0
let lock = NSLock()
func testA() {
count = 0
let queueA = DispatchQueue(label: "Q1")
let queueB = DispatchQueue(label: "Q2")
let queueC = DispatchQueue(label: "Q3")
queueA.async {
for _ in 1...1000 {
self.increase()
}
}
queueB.async {
for _ in 1...1000 {
self.increase()
}
}
queueC.async {
for _ in 1...1000 {
self.increase()
}
}
}
///The increase() method:
func increase() {
// lock.lock()
self.count += 1
print(count)
// lock.unlock() …Run Code Online (Sandbox Code Playgroud) 我得到了三个名为queueA,queueB,queueC的调度线程。
现在,我希望在执行queueB和queueC之后执行queueA。
所以我尝试通过实现它DispatchSemaphore。
我的问题是:一次在线程中两次
调用wait()以使信号量2安全吗?
self.semaphore.wait() // +1
self.semaphore.wait() // +1
Run Code Online (Sandbox Code Playgroud)
以下是完整的测试代码:
class GCDLockTest {
let semaphore = DispatchSemaphore(value: 0)
func test() {
let queueA = DispatchQueue(label: "Q1")
let queueB = DispatchQueue(label: "Q2")
let queueC = DispatchQueue(label: "Q3")
queueA.async {
self.semaphore.wait() // +1
self.semaphore.wait() // +1
print("QueueA gonna sleep")
sleep(3)
print("QueueA woke up")
}
queueB.async {
self.semaphore.signal() // -1
print("QueueB gonna sleep")
sleep(3)
print("QueueB woke up")
}
queueC.async {
self.semaphore.signal() // -1
print("QueueC gonna sleep") …Run Code Online (Sandbox Code Playgroud) 我知道如何设置独立外观,UISearchBar如下所示。
let searchField = searchBar.value(forKey: "searchField") as? UITextField
if let field = searchField {
field.backgroundColor = UIColor.defaultBackgroundColor
field.layer.cornerRadius = 15.0
field.textColor = .white
field.tintColor = .white
field.font = UIFont.systemFont(ofSize: fl(13))
field.layer.masksToBounds = true
field.returnKeyType = .search
}
Run Code Online (Sandbox Code Playgroud)
但这不适用于UISearchController。
我想将占位符和左放大镜图标的文本颜色设置为纯白色。(似乎现在它们上面有一个彩色层)。
另外,输入文本现在是黑色的,我也希望它也是白色的。
最后,我要修改以下属性。
1. textField背景颜色
2. textFiled占位符文本颜色
3. textFiled文本颜色
4. textFiled字体
有人知道怎么做吗?
将以下内容与您的代码添加到viewDidAppear中:
let placeholderString = NSAttributedString(string: "Placeholder", attributes: [NSAttributedStringKey.foregroundColor: UIColor.white])
field.attributedPlaceholder = placeholderString
let iconView = field.leftView as! UIImageView
iconView.image = iconView.image?.withRenderingMode(.alwaysTemplate)
iconView.tintColor = .white
Run Code Online (Sandbox Code Playgroud)
Updata:
放入这些设置 …
我正在使用 SDWebImage 从网络获取图像并显示它们。但有些是GIF,如何停止GIF?
下面的第一张图片是原始图片.
第二个图像是使用Core Image API实现的模糊图像.
第三个图像是使用实现的模糊图像UIVisualView.
很明显,核心图像模糊了图像并缩小了图像.半径越大,白边越宽.
问题:如何使用核心图像就像UIVisualView效果一样产生视觉效果.
至少,如何使用Core Image模糊没有白色边框的图像.
func blur(image: UIImage, withRadius radius: Float) -> UIImage {
let context = CIContext(options: nil)
let image = CIImage(image: image)
let filter = CIFilter(name: "CIGaussianBlur")
filter?.setValue(image, forKey: kCIInputImageKey)
filter?.setValue(radius, forKey: "inputRadius")
let result = filter?.outputImage
return UIImage(cgImage: context.createCGImage(result!, from: (result?.extent)!)!)
}
Run Code Online (Sandbox Code Playgroud)
第三张图片是
func addVisualEffectView() {
let effectView = UIVisualEffectView(effect: UIBlurEffect(style:.light))
effectView.frame = originalImageView.bounds // originalImageView is the ImageView represents the original image
originalImageView.addSubview(effectView)
}
Run Code Online (Sandbox Code Playgroud)
例如:
// CustomViewClass
- (void)showOnView: (UIView*)view {
[view addSubview: self.customView];
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个类(如视图控制器)中调用此方法viewDidLoad.
- (void)viewDidLoad {
[super viewDidLoad];
[self.customViewClass showOnView: self.view];
}
Run Code Online (Sandbox Code Playgroud)
我将视图控制器的视图传递给CustomViewClass上面.
我的问题是: 它会导致某种保留周期吗?
这些视图是通过弱参数引用的吗?
或者它很好.
如果有人在Swift和Objective-C中解释它,将非常感激.
我在每个单元格上都有一个表视图和集合视图。
当我点击单元格时,将在单元格的方法中调用以下代码didSelectRowAt:IndexPath。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
navigationController?.pushViewController(anotherViewController(), animated: true)
}
Run Code Online (Sandbox Code Playgroud)
anotherViewController目前故事板上是一个空的视图控制器。它只打印“我来了” viewDidLoad()。
问题是这样的:
当我触摸单元格时,推送动画似乎卡住了,请检查下面的 GIF。
我对所发生的事情真的很困惑。
请随时提供任何建议。
下图显示了视图层次结构。
表视图上的单元格。
集合视图和单元格内容视图上的其他组件。
最后,集合视图的内容视图上的图像视图。
我知道我们可以使用下标来剪切Swift 4中的一部分字符串.
let s = "aString"
let subS = s[..<s.endIndex]
Run Code Online (Sandbox Code Playgroud)
但问题是,如何切割s到像SubString一样aStr.
我的意思是,我想做的就像是s[..<(s.endIndex-3)].
但这不对.
那么,如何在Swift 4中做到这一点.
我想获取保存在 Core Data 中并按Date名为“recordingTime”的类型属性排序的五条记录。例如,在MySql中,我们可以简单的添加limit = 5来设置一个限制。那么,如何使用 NSPredicate 进行排序和限制呢?谢谢。
我正在尝试绘制一个圆,但是无论我设置了什么值,圆边框总是一样细。感觉就像总是默认最细宽度的线。
- (void)drawCircleAtPoint:(CGPoint)center radius: (CGFloat)radius{
UIBezierPath *path = [UIBezierPath bezierPath];
path.lineWidth = 4; // Here
path.lineCapStyle = kCGLineCapRound;
path.lineJoinStyle = kCGLineJoinRound;
CGFloat r = radius;
[path addArcWithCenter:center radius:r startAngle:0.0 endAngle:M_PI*2 clockwise:true];
[path stroke];
CAShapeLayer* layer = [CAShapeLayer new];
layer.path = path.CGPath;
layer.strokeColor = UIColor.redColor.CGColor;
layer.fillColor = UIColor.yellowColor.CGColor;
[layer addAnimation:[self getAnimation] forKey:nil];
[self.layer addSublayer:layer];
}
- (CABasicAnimation*)getAnimation {
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.duration = 1.2;
animation.fromValue = @0;
animation.toValue = @1;
return animation;
}
Run Code Online (Sandbox Code Playgroud)
这真让我发疯。
我试图设置UIImage的CGImage作为layer的内容,然后添加layer到view的layer。
黄色视图的中心应该是五颗星。那就是我想要的。
不过好像星星的中心与对齐origin的view。我该怎么做才能纠正它?
func putOnStars() {
let rect = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
rect.backgroundColor = .yellow
view.addSubview(rect)
let baseLayer = CALayer()
baseLayer.contents = UIImage(named: "stars")?.cgImage
baseLayer.contentsGravity = kCAGravityCenter
rect.layer.addSublayer(baseLayer)
}
Run Code Online (Sandbox Code Playgroud)
swift ×8
ios ×5
objective-c ×3
swift4 ×2
calayer ×1
cgimage ×1
core-data ×1
nspredicate ×1
r ×1
sdwebimage ×1
string ×1
uibezierpath ×1
uisearchbar ×1
uitableview ×1
uitextfield ×1