如果我先调用超类的方法或者最后调用超类的方法,这有关系吗?例如
-(void)didReceiveMemoryWarning {
/* do a bunch of stuff */
[super didReceiveMemoryWarning];
}
Run Code Online (Sandbox Code Playgroud)
与
-(void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
/* do a bunch of stuff */
}
Run Code Online (Sandbox Code Playgroud)
其他方法的相同问题,如viewWillAppear,willRotateToInterfaceOrientation等.
我正在寻找有意义的差异,不仅仅是风格,还是哲学(尽管这些也是受欢迎的).
我有以下示例类:
Test.h:
@interface Test : UIButton {
NSString *value;
}
- (id)initWithValue:(NSString *)newValue;
@property(copy) NSString *value;
Run Code Online (Sandbox Code Playgroud)
Test.m:
@implementation Test
@synthesize value;
- (id)initWithValue:(NSString *)newValue {
[super init];
NSLog(@"before nil value has retain count of %d", [value retainCount]);
value = nil;
NSLog(@"on nil value has retain count of %d", [value retainCount]);
value = newValue;
NSLog(@"after init value has retain count of %d", [value retainCount]);
return self;
}
Run Code Online (Sandbox Code Playgroud)
其中产生以下输出:
2008-12-31 09:31:41.755 Concentration[18604:20b] before nil value has retain count of 0
2008-12-31 09:31:41.756 …Run Code Online (Sandbox Code Playgroud) 我几乎在Objective-C中理解简单的引用计数/内存管理,但是我在使用下面的代码时遇到了困难.我正在发布mutableDict(在下面的代码中注释),它在我的代码中造成了不利的行为.如果我让内存泄漏,它会按预期工作,但这显然不是这里的答案.;-)你们中任何一个更有经验的人是否都能够指出我正确的方向,因为我可以重新编写任何一种方法来更好地处理我的内存占用?主要是我如何管理NSMutableDictionary*mutableDict,因为这是罪魁祸首.我想了解这个问题,而不仅仅是复制/粘贴代码 - 所以一些评论/反馈是理想的.谢谢大家.
- (NSArray *)createArrayWithDictionaries:(NSString *)xmlDocument
withXPath:(NSString *)XPathStr {
NSError *theError = nil;
NSMutableArray *mutableArray = [[[NSMutableArray alloc] init] autorelease];
//NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init];
CXMLDocument *theXMLDocument = [[[CXMLDocument alloc] initWithXMLString:xmlDocument options:0 error:&theError] retain];
NSArray *nodes = [theXMLDocument nodesForXPath:XPathStr error:&theError];
int i, j, cnt = [nodes count];
for(i=0; i < cnt; i++) {
CXMLElement *xmlElement = [nodes objectAtIndex:i];
if(nil != xmlElement) {
NSArray *attributes = [NSArray array];
attributes = [xmlElement attributes];
int attrCnt = [attributes count];
NSMutableDictionary *mutableDict …Run Code Online (Sandbox Code Playgroud) 我正在开发一个简单的iPhone声音应用程序.如何在没有任何中断的情况下播放1个声音片段?
我有一个使用CGPoints定位的对象数组.在我的应用程序中的某些时候,数组中的对象需要通知其位置的其他非排列对象.我知道NSNotification是最好的方法,但是我找不到一个像'发送者'和'接收者'这样的通知的好例子,用于包装和解包CGPoint作为userinfo的通知.有人可以帮忙吗?
是否有记录的方式NSSegmentedControl来使用trackingMode NSSegmentSwitchTrackingSelectOne(即在控件中专门选择一个段)并使用蓝色调突出显示模式渲染它- 我们在使用时自动获得的模式NSSegmentSwitchTrackingSelectAny?
我正在寻找的是一种类似于Xcode工具栏或Navigator子工具栏/切换器中的样式:
到目前为止,尝试使用不同的样式或在标题周围进行探测都没有发现任何东西 -
分段控件使用深灰色突出显示(类似于在Finder窗口中观察到的那种).
任何有关如何激活蓝色突出显示模式的提示都非常受欢迎.
我正在处理一个代码,它要求我存储60*4个布尔值,这些值的标题存储在plist中.我需要在运行时操作布尔值,并且找不到一种方法来轻松更新plist文件.而且使用sqlite数据库来存储布尔值变得忙于这么大量的数据...有没有任何简单的方法我可以在运行时和应用程序启动后轻松存储和检索这些值吗?
调试以下代码时
NSString *var1 = @"blaa";
NSString *var2 = @"blaaaaa";
NSString* script = [NSString stringWithFormat:@"Set_Variable( %s, %s )",var1,var2];
Run Code Online (Sandbox Code Playgroud)
%s脚本中的占位符被有趣的乱码字符替换.你能看到代码中的任何错误吗?
只需选择Objective-C 2.0并想知道使用点运算符访问属性而不是"旧"方式是否有任何优势.我的意思的简短例子.
"老"的方式:
[myFraction setNumerator: 1];
[myFraction setDenominator: 3];
Run Code Online (Sandbox Code Playgroud)
"新方法:
myFraction.numerator = 1;
myFraction.denominator = 3;
Run Code Online (Sandbox Code Playgroud)
谢谢!
罗德里戈
我想保存用户退出应用程序时用户所在的当前选项卡,因此我可以在用户重新进入应用程序时突出显示该选项卡.
我假设我在我的app委托中使用以下方法来保存当前选项卡
- (void)applicationWillTerminate:(UIApplication *)application
但是如何获得当前选项卡的访问权限 - 以及重新加载它的最佳方法是什么?
objective-c ×10
ios ×9
cocoa-touch ×7
cocoa ×6
xcode ×6
iphone ×5
nscontrol ×1
nsstring ×1
oop ×1