草庐IT

NSObject

全部标签

iphone - 在 NSObject 类中显示一个 UIAlertView

我正在我的应用程序中构建一个将被调用多次的登录系统。因此,我没有将代码复制并粘贴到多个位置,而是创建了一个NSObject类,这样我就可以在需要时调用该类。登录系统将显示一个UIAlertView,当点击“确定”时,系统将尝试登录。我可以调用该类并且UIAlertView将显示,但我不知道点击了哪些按钮。这是我的代码://CallingtheloginsystemLogin*login=[[Loginalloc]init];登录.h:#import@interfaceLogin:NSObject{}@end登录.m:#import"Login.h"@implementationLogi

iphone - 在 NSObject 上使用非正式协议(protocol)或使用可选方法的协议(protocol)有什么区别?

我正在研究一些关于非正式协议(protocol)和真实协议(protocol)的基础知识。让我感到困惑的是,Cocoa似乎在NSObject上使用了很多非正式协议(protocol)。这些非正式协议(protocol)是NSObject上的类别,它们声明方法,但实际上并不实现它们。据我所知,他们使用非正式协议(protocol)(换句话说,NSObject上不提供方法实现的类别)的唯一原因是在Xcode中提供自动完成提示。一个例子是NSNibLoading.h中定义的-awakeFromNib方法,它是NSObject上的一个非正式协议(protocol)。nib加载系统在运行时检查对

ios - +[NSObject initialize] 内部的 dispatch_once 是否矫枉过正?

如果我在+[NSObjectinitialize]中创建一个单例,我是否需要像这样将我的代码放在dispatch_onceblock中?staticNSObject*Bar;@implementationFoo+(void)initialize{if(self==[Fooclass]){staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{Bar=[NSObjectnew];});}}@end编辑我很担心这一点,因为我想确保在调用+[Fooinitialize]后所有线程都能看到我设置了Bar。文档说+[NSObjectin

ios - CLLocationManager 不在 NSObject 中调用委托(delegate)

我正在尝试创建一个辅助类,以便轻松地在任何其他类中获取手机的坐标。我遵循了一个教程,其中UIViewController实现了它奏效了。我试图在一个简单的NSObject中做同样的事情,但后来我的委托(delegate)不再被召唤。这是我的代码:PS坐标.h#import#import@interfacePSCoordinates:NSObject@property(nonatomic,retain)CLLocationManager*locationManager;@endPS坐标.m#import"PSCoordinates.h"@implementationPSCoordinat

objective-c - 如何停止执行选择器?

我想知道如何停止执行选择器我可以这样开始[selfperformSelector:@selector(vibe)];但我正在想办法阻止它。任何帮助将不胜感激..谢谢! 最佳答案 performSelector:方法相当于直接给接收者发送一个selector消息,所以不能取消。即,这两行具有相同的效果:[selfperformSelector:@selector(vibe)];[selfvibe];cancelPreviousPerformRequestsWithTarget:(和类似的)方法只能取消不立即执行的选择器消息。您可以通过

OC分类(category)和扩展(extension)

首先,分别来说下分类(category)和扩展(extension)的用处。然后来解读一下分类的底层实现分类常见的应用1、可以将臃肿的类根据不同业务划分为多个模块,方便进行管理2、对原有的类进行扩展,给类添加方法。特别是给系统自带的类方法分类的注意点1、分类里面可以定义@property属性,但是不会自动生成set和get方法,以及对应的成员变量2、分类不能添加成员变量,但是可以通过关联对象的方式添加成员变量3、分类中有和原有类同名的方法,会优先调用分类中的方法4、多个分类中同名方法,优先调用后面参与编译的分类里面的方法扩展的应用1、为一个类声明一些额外的方法和属性2、常用在.m文件中添加一些

ios - 如何从 json 字典自动创建模型类(NSObject)?

有什么方法可以创建字典或json响应的模型类(包装器)?因为在我的应用程序中有很多网络服务,所有WS都包含大数据。如果我一直在一个一个地创建,则需要花费很多时间来创建带有检查空数据和编码解码对象的NSObject类。请建议我手动创建所有NSObject是正确的方法吗?我不想解析直接字典。谢谢。 最佳答案 最后,我得到了适用于iOS和Android的非常简单快速的模型类生成器工具。只需复制并粘贴您的回复,然后从工具中获取模型类。从AppStore下载JSON加速器(MacAppStore)。从浏览器复制您的JSON响应。(响应必须经过

ios - 获取所有本地类的列表

我想获取所有已加载到我的iOS项目中的native类(NSString、NSNumber、int、float、NSSet、NSDictionary)。即,如果我创建了一个名为“TestClass”的自定义类,我不想将其列出...我已经有一个代码,但它返回所有加载的类的名称,我可以修改代码以将列表限制为仅native类吗?#import#import#importunsignedintcount;constchar**classes;Dl_infoinfo;dladdr(&_mh_execute_header,&info);classes=objc_copyClassNamesForIm

objective-c - -[NSObject autoContentAccessingProxy] 是否有效?

我正在尝试使用-[NSObjectautoContentAccessingProxy]如http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/nsobject_Class/Reference/Reference.html#//apple_ref/occ/instm/NSObject/autoContentAccessingProxy所述.我尝试代理的对象实现了NSDiscardableContent协议(protocol)和-autoContentAccessing

iOS 和 Objective-C : most of CPU time is spent in [NSObject release] and [NSObject retain] but class method is not doing any memory operations

图像处理应用程序在模拟器上运行速度很快,但在真实设备(iPhone4GS)上真的很慢。在“instruments”下运行应用程序时,我看到以下调用树:请注意,据报告,红色圆圈内的调用几乎占用了该方法的所有CPU时间。问题中的方法是类方法(不是实例方法),代码如下:@implementationLine2F+(CGFloat)signTested:(Point2F*)testedp1:(Point2F*)p1p2:(Point2F*)p2{return[Line2FsignTestedX:tested.xtestedY:tested.yp1x:p1.xp1y:p1.yp2x:p2.xp2