草庐IT

Q_PROPERTY

全部标签

ios - Swift/iOS : using computed property to trigger UI update, : didSet, will set 和 set 哪个更好?

我的iOS应用程序中的用户界面非常复杂,以至于我有时会在应该启用/禁用/隐藏/显示某些按钮或View时感到困惑。想了想,我觉得这个app只有三种状态:Idling、Recording、Playing。所以我创建了一个枚举类型的计算属性变量AppState,我希望通过它观察状态变化,以便相应地更新UI。一些UI更改包括显示或禁用按钮以及从其superView中删除自定义UIView对象。varcurState:AppState=.Idling{didSet{ifnewValue!=oldValue{updateUI()//??betterhere?}}willSet(newValue){

swift - 绑定(bind)的 property/$property 语法是什么?

如handlinguserinputtutorial中所示.structLandmarkList:View{@StatevarshowFavoritesOnly=truevarbody:someView{NavigationView{List{Toggle(isOn:$showFavoritesOnly){Text("Favoritesonly")}...什么是showFavoritesOnly/$showFavoritesOnly语法?它是Binding的独特之处吗?或者我们可以在自己的代码中使用它吗? 最佳答案 @State旨在

objective-c - swift 1.2 : Implement optional property from Objc protocol

只是尝试开始使用Swift并在升级到Swift1.2时遇到以下问题:@protocolMyObjcProtocol@optional@property(copy)NSString*optionalString;-(void)optionalMethod;@end...classMySwiftClass:NSObject{}extensionMySwiftClass:MyObjcProtocol{varoptionalString:NSString{get{return"Foo"}set(newValue){NSLog("Whatever")}}//Noproblemherefuncop

ios - 核心数据与 NSFetchedResultsController :Invalid update with with a property in fetchObjects

Xcode报告了一个严重的问题:1。我有一个NSFetchResultsControllervarfetchedResultsController:NSFetchedResultsController{if_fetchedResultsController!=nil{return_fetchedResultsController!}letfetchRequest=NSFetchRequest()//Edittheentitynameasappropriate.letentity=NSEntityDescription.entityForName("Choice",inManagedOb

swift 3 : Observing a read-only property

所以在SpriteKit中有这个类:openclassSKNode:UIResponder,NSCopying,NSCoding,UIFocusItem{...openvarscene:SKScene?{get}...我想在scene属性不为nil时触发一些逻辑。这是我尝试过的:classMyNode:SKNode{overridevarscene:SKScene?{didSet{ifscene!=nil{//mycustomlogic}}}}但我收到一个错误:无法观察只读属性“场景”;它不能改变,这在理论上是有道理的。在实践中,属性的值确实改变了:letnode=SKNode()pr

iOS/swift : Can't assign optional String to UILabel text property

UILabel有一个文本属性,它是一个可选的字符串,但它的行为似乎像一个隐式展开的可选。为什么我不能给它分配另一个可选字符串?谢谢。@IBOutletweakvartweetContent:UILabel!...varunopt:String="foo"varopt:String?="bar"varopt2:String?opt2=opt//Worksfinecell.tweetContent.text?=unopt//Worksfinecell.tweetContent.text?=opt//Compileerror:Valueofoptionaltype'String?'notun

ios - 更新到 Xcode 6.1 后 "Use of property ' nibName ' in base object before super.init initializes it"

我的iOS应用程序中有这段代码,是用Swift编写的:classAddHomeViewController:UITableViewController,UITextFieldDelegate{...requiredoverrideinit(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){super.init(nibName:nibName,bundle:nibBundle)}更新到Xcode6.1后,我在super.init(nibName:nibName,bundle:nibBundle)行收到这些错误。它之前工

ios - Realm 查询属性(property)总和

我正在使用RealmSwift,我有一个名为Book的Realm对象Book=====title:StringpageCount:Int当应用程序启动时,我使用以下方式获取所有书籍:allBooks=realm.objects(Book)一本书有一个名为pageCount的Realm属性我想了解如何获得所有书籍的总页数?所以如果我有3页的A书、11页的B书和0页的C书,则总数将为3+11+0=14我更喜欢用查询来做,而不是遍历所有的书 最佳答案 您可以获得所有书籍对象的总页数,如下所示:lettotalPages:Int=realm

swift - 如何解决此构建问题 - 无法分配给属性 : 'date' is a get only property

classEvent{varname:String?varFullDate:NSDate?vardate:String?{letdateFormatter=NSDateFormatter()dateFormatter.dateFormat="EEEEMMMdd"returndateFormatter.stringFromDate(FullDate!)}init()}classEventsViewController:UIViewController,UITableViewDelegate,UITableViewDataSource{letEvent1=Event()overridefu

ios - swift 3 : Property observer for singleton

我想知道是否有任何方法可以观察单例类的任何属性的变化在我的例子中,使用Realm我有这样的东西classUser:Object{dynamicvarname:String=""dynamicvaremail:String=""dynamicvarid:String=""dynamicvarpicURL:String=""dynamicvarpic:Data=Data()staticletcurrentUser=User(){didSet{try!realm.write{realm.add(currentUser,update:true)}}}}我想要实现的是我希望在我的应用程序中只有一