小编iDe*_*per的帖子

在ObjectiveC中调用超类方法的时机是否重要?

如果我先调用超类的方法或者最后调用超类的方法,这有关系吗?例如

-(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等.

我正在寻找有意义的差异,不仅仅是风格,还是哲学(尽管这些也是受欢迎的).

oop iphone cocoa-touch objective-c ios

6
推荐指数
2
解决办法
290
查看次数

Objective C NSString*属性保留计数奇数

我有以下示例类:

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)

xcode cocoa cocoa-touch objective-c ios

5
推荐指数
3
解决办法
2万
查看次数

Objective-C:修复方法中的内存管理

我几乎在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 cocoa cocoa-touch objective-c ios

5
推荐指数
1
解决办法
1844
查看次数

在iPhone中不间断地播放1个声音片段

我正在开发一个简单的iPhone声音应用程序.如何在没有任何中断的情况下播放1个声音片段?

iphone xcode objective-c ios

5
推荐指数
1
解决办法
635
查看次数

NSNotification userinfo示例?

我有一个使用CGPoints定位的对象数组.在我的应用程序中的某些时候,数组中的对象需要通知其位置的其他非排列对象.我知道NSNotification是最好的方法,但是我找不到一个像'发送者'和'接收者'这样的通知的好例子,用于包装和解包CGPoint作为userinfo的通知.有人可以帮忙吗?

xcode cocoa cocoa-touch objective-c ios

5
推荐指数
1
解决办法
6577
查看次数

NSSegmentedControl突出显示蓝色色调和单选

是否有记录的方式NSSegmentedControl来使用trackingMode NSSegmentSwitchTrackingSelectOne(即在控件中专门选择一个段)并使用蓝色调突出显示模式渲染它- 我们在使用时自动获得的模式NSSegmentSwitchTrackingSelectAny

我正在寻找的是一种类似于Xcode工具栏Navigator子工具栏/切换器中的样式:

在此输入图像描述

到目前为止,尝试使用不同的样式或在标题周围进行探测都没有发现任何东西 -
分段控件使用深灰色突出显示(类似于在Finder窗口中观察到的那种).

任何有关如何激活蓝色突出显示模式的提示都非常受欢迎.

xcode cocoa objective-c nssegmentedcontrol nscontrol

5
推荐指数
1
解决办法
208
查看次数

存储大量布尔变量的最佳方法?

我正在处理一个代码,它要求我存储60*4个布尔值,这些值的标题存储在plist中.我需要在运行时操作布尔值,并且找不到一种方法来轻松更新plist文件.而且使用sqlite数据库来存储布尔值变得忙于这么大量的数据...有没有任何简单的方法我可以在运行时和应用程序启动后轻松存储和检索这些值吗?

xcode cocoa-touch objective-c ios

4
推荐指数
1
解决办法
2071
查看次数

stringWithFormat生成带有乱码字符的字符串

调试以下代码时

NSString *var1 = @"blaa";
NSString *var2 = @"blaaaaa";

NSString* script = [NSString stringWithFormat:@"Set_Variable( %s, %s )",var1,var2]; 
Run Code Online (Sandbox Code Playgroud)

%s脚本中的占位符被有趣的乱码字符替换.你能看到代码中的任何错误吗?

iphone xcode objective-c nsstring ios

3
推荐指数
1
解决办法
8470
查看次数

Objective-C 2.0中的点运算符

只需选择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)

谢谢!

罗德里戈

cocoa cocoa-touch objective-c ios

3
推荐指数
1
解决办法
1869
查看次数

用户退出时如何保存当前标签栏项目,并在重新启动时重新加载到该项目?

我想保存用户退出应用程序时用户所在的当前选项卡,因此我可以在用户重新进入应用程序时突出显示该选项卡.

我假设我在我的app委托中使用以下方法来保存当前选项卡

- (void)applicationWillTerminate:(UIApplication *)application

但是如何获得当前选项卡的访问权限 - 以及重新加载它的最佳方法是什么?

iphone cocoa cocoa-touch objective-c ios

3
推荐指数
1
解决办法
1407
查看次数