Tag: 实例variables

为什么我不能在Obj-C中声明一个类似“newVariable”的variables?

错误我得到了 error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects /Users/…/ViewController.h:12:40: note: property declared here @property (nonatomic, retain)NSString *newString; 为什么我在开始时不能在variables名中使用new ? (如newString )

Objective-C:覆盖超类getter并尝试访问ivar时发生编译错误

我正在构build一个iOS 6应用程序。 我有一个inheritance自超类TDWeapon的类TDBeam 。 超类TDWeapon在TDWeapon.h文件中声明@property: @interface TDWeapon : UIView @property (nonatomic) int damage; @end 我没有明确地@thenthesize属性,因为我让Xcode自动这样做。 在TDBeam的子类中,我重写了TDBeam.m文件中的getter: #import "TDBeam.h" @implementation TDBeam – (int)damage { return _damage; } @end 按照预期,Xcode会自动完成getter方法名称。 但是,当我试图引用_damage实例variables(从超类inheritance),我得到一个编译器错误: Use of undeclared identifier '_damage' 我在这里做错了什么? 我已经试过显式添加@synthesize,并更改_damage伊娃的名称,但编译器不会“看到”它或超类的任何其他ivars。 我以为ivars是可见的,可以从子类访问?

在Objective C中设置静态variables

我似乎无法find一种方法来设置我已经创build的静态诠释为我保存到永久内存的每个对象分配唯一的ID。 下面给我一个'没有setter方法setIdGen'的财产分配。 -(void)viewDidLoad { PlayerMenuController.idGen = [[NSUserDefaults standardUserDefaults] floatForKey:@"idGen"]; } 除了上面我已经尝试创build一个静态setIdGen方法,将返回错误的访问错误,并使NSIntegers自己的设置方法。 当我尝试使用=,但使用setArray工作正常时,我的静态NSMutableArray给出了相同的错误。 idGen方法: + (int) idGen { /*static int idGen; if(!idGen) { idGen = 0; NSLog(@"idGen reset"); }*/ return self.idGen; }

何时使用实例variables以及何时使用属性

当使用Objective-C属性时,你可以完全停止创build实例variables,或者显式的实例variables(不是由属性合成的variables)仍然可以用于属性不合适的目的。

在iOS应用程序中,我应该如何或在哪里存储全局所需的对象实例?

我正在构build一个iOS应用程序。 大多数应用程序需要访问持久对象。 当应用程序通过应用程序委托加载时,该对象被实例化。 我遇到的问题是需要访问这个对象的许多视图控制器。 创build可从应用程序的任何位置访问的全局对象的最佳方式和最佳实践是什么? 例子将不胜感激。 非常感谢。

iOS:初始化应用程序开始处的对象,供所有控制器使用

我正在开发一个小型的iOS项目,我偶然发现了一个variables范围的问题。 我需要的是一个在启动时初始化的对象,并且在应用程序closures之前,所有控制器都可以使用它。 该对象将保存从数据库(SQL)或从本地存储加载的数据 – 我不是100%确定,但在这里做什么。 我需要所有的viewController访问该数据保存对象,我需要保留的对象,当应用程序进入后台。 这是可能实现的吗? 如果,那我该怎么做呢? 对于简单的variables,我知道我可以使用externvariables,但它也适用于完整的对象? 谢谢你的回答,塞巴斯蒂安

私人与fileprivate在Swift3中声明全局variables/常量?

我应该使用private或fileprivate在Swift 3中声明全局variables/常量? 例如 fileprivate let a = 1 fileprivate class SomeClass { fileprivate b = 0 } 要么 private let a = 1 private class someClass { fileprivate b = 0 }

在哪里设置应用程序的环境variables?

我正在处理冻结的源代码,无法更改; 但其ENV意识到并希望通过ENV进行更改。 源代码正在Xcode 4 / iOS项目中使用。 Xcode 3允许我们在应用程序的Executable文件夹中设置环境variables(请参阅iOSdebugging魔术图1)。 Xcode 4似乎缺lessXcode 3中存在的“可执行信息”。 我已经通过堆栈溢出的一些类似的问题,但没有人回答了这些问题。 答案通常退化为预处理macros。 授予: 如何使用XCode 4在iPhone可执行文件中设置环境variables? , Xcode中的条件环境variables ,以及在ios中设置环境variables的位置 ? 如何在Xcode 4中设置应用程序的环境variables?

通过一个子类和几十个地图引脚将variables传递给一个新的视图控制器

我有一些移动部分,我似乎无法缝合在一起,希望这是非常简单的。 以前的问题不使用子类,在这个例子中,在地图上可能有几十个定制的引脚,每个引脚都将特定的variables传递给一个新的ViewController 三目标: 添加图像到自定义注释(见下面的代码) 我有一个名为Capital的子类,我想在#1中添加图像,然后创build额外的variables来保存将传递到一个新的SecondViewController ,包括(2)标签和select器视图的值:例如label1 =“text1 “,label2 =”text2“,然后从包含多个对象的数组中获取一个string(即Picker的每一行的标题) 一旦用户点击定制引脚上的标注button,我们将ViewController推送到一个名为SecondViewController的新视图控制器,并将附加到自定义引脚上的子类Capital的值分配给SecondViewController中的新标签和选取器视图 这是我迄今为止的代码: 名为Capital.swift子类 import MapKit import UIKit class Capital: NSObject, MKAnnotation { var title: String? var coordinate: CLLocationCoordinate2D var info: String // here we would add the custom image in Goal #1 // here we would add the (2) values for label1 and label2 in Goal […]

我应该在接口中声明variables还是在objective-c arc中使用属性?

方法1: @interface MyController : UIViewController { UILabel *myText; } @property (nonatomic, strong) UILabel *myText; 方法2: @interface MyController : UIViewController @property (nonatomic, strong) UILabel *myText; 方法3: @interface MyController : UIViewController { UILabel *myText; } 我读过一些关于这种东西的文章,但是我还没有真正意识到我必须采用哪种方法。 我也发现有人说方法1是一个古老的方式,所以我想知道使用ARC的ios sdk 6的最佳做法。 我知道使用属性声明variables是生成getter和setter的简单方法,有人build议使用它。 但是,我想问一个variables是不是由另一个类调用,是否有必要为variables使用属性? 并将其设置为接口内的私有variables? 还是只有在界面内声明的variables才更好? 我想学习最好的做法,所以请原谅我,如果这是一个愚蠢的问题。 而且,有些开发者用这种方式写@synthesize @synthesize myText=_myText; 但有些写道: @synthesize myText; 我也想知道其中的差别,哪一个更好? 非常感谢你!