草庐IT

pthread_self

全部标签

ios - MVVM:使用闭包、无主或弱 self 将 View 与 ViewModel 绑定(bind)?

我正在实现一个简单的主从应用程序,其中MasterviewController管理一个TableView,该TableView显示调用REST服务的结果。DetailviewController管理一个View,我在其中显示有关在Master中选择的项目的更多信息。常见场景。我正在尝试应用MVVM模式。在MasterviewController中,我以这种方式创建和初始化它的viewModel:lazyprivatevarviewModel:ListViewModel={returnListViewModel()}()overridefuncviewDidLoad(){super.vi

swift - 与 'Self' 不相同

我想创建一个类似Convertible的协议(protocol)并扩展NSObject子类来实现它。特别是:protocolDataConvertible{classfuncconvertFromData(data:NSData)->Self?funcdata()->NSData}我认为实现会很简单:extensionUIImage:DataConvertible{classfuncconvertFromData(data:NSData)->Self?{letimage:UIImage?=UIImage(data:data)returnimage}funcdata()->NSData{

swift - 为什么 'self.self'在swift中编译运行?

昨天我回顾了一段Swift代码,其中包括这一行:self.self.someProperty这让我很惊讶,因为self这个词被保留下来并用作对当前实例的引用。起初我用其他语言检查过这种现象,但都报错。这并不奇怪-但是,为什么它会在swift中编译和运行?其次,我在互联网上搜索了这方面的内容,但没有找到任何相关的内容...编辑我从我的支票中复制了它:self.someProperty//exactlythesameas:self.self.someProperty//oras:self.self.self.self.self.somePropertySwiftdocumentation给

ios - 当有延迟并在 Collection View 中执行批量更新时,UIView.animate 中的 self 是否应该很弱?

一般来说,我知道我们在使用UIView.animate()时不需要让自己变弱,因为block没有被牢固地保持,但是在下面的代码中是否有使用weak的论据,因为延迟?为什么有人会说可能存在?UIView.animate(withDuration:0.1,animations:{self.performAction()}在下面的例子中,为什么我们需要使用weakself/不需要使用weakself...?collectionView.performBatchUpdates({self.collectionView.reloadData()...}) 最佳答案

swift - EXC_BAD_ACCESS 使用 self.performSelector

这是一个简单的学术而非真正的代码。我想使用performSelector函数运行打印方法。但是如果我在Playground上运行这段代码,就会抛出异常:EXC_BAD_ACCESS(code=EXC_I386_GPFLT).代码://:Playground-noun:aplacewherepeoplecanplayimportUIKit@objc(Foo)classFoo:NSObject{functimer(){self.performSelector(#selector(Foo.print))}@objcfuncprint(){NSLog("print")}}letinstance

Swift 4 使用协议(protocol)和 `Self` 伪造存在的方法

在Swift中有数百种使用协议(protocol)和Self来伪造存在性的解决方案,但它们大多指的是Swift2和Swift3可能带来的光明future......现在Swift4已经出来了,对泛型进行了很好的补充。但我找不到任何建议如何将其放入缺失的存在问题中。关于如何以Swift4方式解决这个问题有什么想法吗?例子:importUIKitprotocolBla{funccompare(other:Self)}extensionCGFloat:Bla{funccompare(other:CGFloat){print("ExtendedCGFloat")}}extensionUIEdg

swift - 带有 RxSwift 的 MVVM-C : '[weak self]' in closure

我正在使用RxSwift开发一个iOS项目,我使用带协调器模式的MVVM。这里是我的实现:View模型://MARK:-PrivateprivateletshowNextViewSubject=PublishSubject()//MARK:-InputsvarshowNextView:AnyObserver{returnshowNextViewSubject.asObserver()}//MARK:-OutputsvardidShowNextView:Observable{returnshowNextViewSubject.asObservable()}ViewController:p

ios - Swift : property 'self.circle1' not initialized at super. 初始化调用出错?

我是编程新手,正在尝试用Swift编写一个井字游戏应用程序,但这个错误使我无法运行该应用程序:属性“self.circle1”未在super.init调用时初始化。该应用程序尚未完成,但我看不到现有代码中的错误所在。请再次彻底解释任何建议,因为我是初学者。谢谢!我的代码:importUIKitclassViewController:UIViewController{//Initializingallimgsasvariables:@IBOutletstrongvarcircle1:UIImageView@IBOutletstrongvarcircle2:UIImageView@IBOu

swift - Swift 闭包中的 `self`

我想在Swift闭包中理解self。例如-()->Void={[weakself]inguardlet`self`=selfelse{self.callMethod2()}self.callMethod3()}为什么我们在这里使用反引号?这是好的编程习惯吗?self是如何弱捕获到这里的? 最佳答案 Swift4.2最近采纳了一项将此添加到语言中的提案:guardletself=selfelse{return}所提出的解决方案需要允许使用可选绑定(bind)将self从弱引用升级为强引用。更多细节引用swiftevolutionpro

objective-c - 有没有办法显示不使用弱 self 的警告?

每隔几个月,我都会遇到同样的问题,即ViewController没有被释放,因为没有在block中使用weak-self。有什么方法可以让Xcode警告我吗?谢谢。 最佳答案 这可能有助于-Warc-retain-cycles此外,如果您在Xcode中选择分析而不是构建,这将为您提供有关代码中不良做法的更多信息,其中包括有关使用弱变量的信息。另一个层次是使用Infer,Facebook开源的iOS/Android静态分析器:www.fbinfer.com另请参阅:http://fuckingclangwarnings.com/对于其