我在一个文件中有协议和类头:
@protocol SomethingDelegate
- (void) doSomething;
@end
@interface SomethingClass
@property (nonatomic, weak) id <SomethingDelegate> delegate;
@end
Run Code Online (Sandbox Code Playgroud)
在.m文件中:
@implementation SomethingClass // in here I got error "Cannot synthesize weak property in file using manual reference counting"
@end
Run Code Online (Sandbox Code Playgroud)
如果我把它改成这样:
@implementation SomethingClass
@synthesize delegate; // in here I got error "Cannot synthesize weak property in file using manual reference counting"
@end
Run Code Online (Sandbox Code Playgroud)
为什么会这样?以及如何解决这个问题?如果我从更改错误消失weak来strong.但这不是代表应该如何宣布,对吧?如何正确宣布弱代表?
我有这个代码来检测键盘何时显示并获取其高度。
@objc func keyboardWasShown (_ notification: Notification) {
let keyboardSize = (notification.userInfo![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue.size;
print ("KEYBOARD SIZE: \(keyboardSize.height)");
}
Run Code Online (Sandbox Code Playgroud)
起初,当我第一次点击 UITextView 使其成为第一响应者时,控制台显示 271.0 点。
然后我点击视图以关闭键盘。然后我再次点击 UITextView。现在它显示 226.0 点。
第一次和后续试用中的键盘布局没有变化。一开始我总是得到 271,然后下一个总是 226。正确的是 271。
为什么会这样?以及如何修复它?
我正在尝试使用SwipeCellKit在我的项目中调用的 pod ,其中该 pod 添加了一个名为 SwipeTableViewCell 的类。到目前为止我所做的是:
UIViewController类。SwipeCellKitSwift 文件。numberOfRows和cellForRow函数到我的 UIViewController 类。这是的实现cellForRow:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! SwipeTableViewCell;
return cell;
}
Run Code Online (Sandbox Code Playgroud)
但是我在 上出错let cell = ...,说:
无法将“UITableViewCell”类型的值转换为“SwipeCellKit.SwipeTableViewCell”
为什么?以及如何解决这个问题?我想我已经安排好了一切。我错过了什么?
例如,我有:
Lorem Ipsum
Dolor Sir Amet
Run Code Online (Sandbox Code Playgroud)
作为内容$s。现在,如果我打印的结果htmlspecialchars(nl2br($s))是:
Lorem Ipsum<br />
<br />
Dolor Sir Amet
Run Code Online (Sandbox Code Playgroud)
虽然我想要的结果是:
Lorem Ipsum<br /><br /> Dolor Sir Amet
Run Code Online (Sandbox Code Playgroud)
为什么nl2br即使已插入,也不会删除回车符<br />?还是如何正确使用nl2br来正确除去回车?因为这破坏了我的SQL。我在Windows 7中的Apache上运行PHP。谢谢。
我对 iOS 编程还很陌生。我有这个设置:
ViewController 在IB上查看,有课 ViewController
SecondController 在IB上查看,有课 secondController
我有协议:
protocol SecondControllerDelegate {
func getSomething() -> String
}
Run Code Online (Sandbox Code Playgroud)
我在 SecondController 上有委托变量:
class secondController: UIViewController {
var delegate: SecondControllerDelegate?
@IBOutlet weak var labelStatus: UILabel!
override func ViewDidLoad() {
super.viewDidLoad()
}
@IBAction func buttonTouch(sender: AnyObject) {
labelStatus.text = delegate?.getSomething()
}
func try () {
labelStatus.text = "testing"
}
}
Run Code Online (Sandbox Code Playgroud)
现在,根据无处不在的提示,为了可以调用delegate?.getSomething()at SecondController.buttonTouch(),我需要在 viewController 上进行如下设置:
class ViewController: UIViewController, SecondControllerDelegate {
override func viewDidLoad () {
super.viewDidLoad()
SecondController.delegate = self
}
func …Run Code Online (Sandbox Code Playgroud) 我需要一个复选框,用户可以在其中将状态设置为“未设置”。基本上,我向用户展示了一个表单,他可以在其中声明他同意某事(真),他不同意某事(假),或者他什么都不说(空/空/未设置)。如果他设置为 true 或 false,我将向服务器发送数据。但是如果它处于未设置状态,服务器会将记录设置为空/空/未设置。这对于搜索时很有用,用户可以在其中说明他是否要搜索具有 AC 或不具有 AC 或两者兼有的属性。
我怎样才能在 iOS 的 XCode 中做到这一点?谢谢。
编辑:这是帮助可视化我要做什么的模型。解决方案不必完全像这样(不必是复选框),因为我知道用户通常希望复选框只有两个值(真、假)。但这是我能想到的最接近的可视化。
例如,我想添加如下内容:
extension enum : T {
convenience init? (rawData: T?) -> enum? {
guard let rawData = rawData else { return nil; }
return self.init(rawData: rawData);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这可能不是我为什么需要扩展枚举的最佳案例,但我只是想探索可能性。谢谢。
我有这种结构:
<div class="root">
<div class="image">
<div class="price">$100</div>
</div>
<div class="productinfo">
<div class="title" id="title1">Banana</div>
</div>
</div>
<div class="root">
<div class="image">
<div class="price">$14</div>
</div>
<div class="productinfo">
<div class="title" id="title2">Spoon</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,我需要知道price具有内容的类的div的宽度,$100而不是最终得到div的宽度$14; 但是代码需要从中开始$("#title1").我应该怎么做?或者,我应该如何选择元素的父元素,然后选择具有该父元素的特定类的子元素?谢谢!
1465536311我从数据库 SQL 查询(如or )获取时间戳结果1465540078。如何快速将这些数字转换为当前日期和时间?
我按照这里的教程创建了一个可检查和可设计的视图.我只想添加边框颜色,边框宽度和圆角边框功能UIView.
我成功地展示了这些属性.但是无论我在故事板上设置什么,结果仍然就像他们不在那里一样.没有边框,即使我将边框设置为宽2和黑色.它没有在故事板和运行时显示.我已将边框设置为2宽度,但在运行时,我在didViewLoad处打印边框宽度值,结果为0.可能出现什么问题?
@IBDesignable extension view: UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth;
}
set {
layer.borderWidth = borderWidth;
}
}
@IBInspectable var borderColor: UIColor? {
get {
return UIColor(CGColor: layer.borderColor!);
}
set {
layer.borderColor = borderColor?.CGColor
}
}
}
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
@IBDesignable class BOView: UIView {
@IBInspectable var cornerRadius: CGFloat { …Run Code Online (Sandbox Code Playgroud) 我的班级中有这两个功能:
func setTimer () {
alertEndTimer = Timer.init(timeInterval: 10, target: self, selector: #selector(hideAlert), userInfo: nil, repeats: false);
print ("NOW: \(now)")
print ("FIRE DATE: \(alertEndTimer!.fireDate)");
}
@IBAction func hideAlert () {
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
控制台的结果是这样的:
NOW: 2017-03-01 03:32:36 +0000
FIRE DATE: 2017-03-01 03:32:46 +0000
Run Code Online (Sandbox Code Playgroud)
然后我在 上设置了一个断点doSomething();。但是等了 1 分钟后,根本没有调用断点。我还检查了 timer 是否isValid(),它返回true。那么为什么我的函数没有被调用?
我有这个简单的代码:
let string = "2017-02-23 15:26:00";
let df = DateFormatter();
df.dateFormat = "yyyy-MM-dd hh:mm:ss";
let result = df.date(from: string);
Run Code Online (Sandbox Code Playgroud)
结果为零。为什么?
swift ×8
ios ×5
datetime ×2
delegates ×2
class ×1
css ×1
enums ×1
ibdesignable ×1
javascript ×1
jquery ×1
objective-c ×1
php ×1
protocols ×1
sql ×1
swift3 ×1
timer ×1
timestamp ×1
uikeyboard ×1
uitableview ×1
xcode ×1