小编nal*_*all的帖子

将标头添加到框架以供发布

我正在XCode中构建一个框架项目,除了构建中没有Headers目录外,所有内容都构建并且看起来很棒Foo.framework.

我是否必须为此添加一个明确的构建阶段,或者只是一个我不知道的设置?PUBLIC_HEADERS_FOLDER_PATH看起来很有希望,但我不确定如何使用它.

xcode frameworks header

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

检查value是否为整数(Objective-C)

如何检查我的值是否为整数?
我想要这样的东西:


if ( i/split != int )  {...}

Run Code Online (Sandbox Code Playgroud)

谢谢,

iphone objective-c

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

点符号dealloc?

@property (copy) NSString *name;
@property (copy) NSString *orbit;
@property (copy) NSNumber *mass;
@property float surfaceTemp;
@property float rotationSpeed;
Run Code Online (Sandbox Code Playgroud)

目前有这个

- (void)dealloc{
    [name release];
    name = nil;
    [orbit release];
    orbit = nil;
    [mass release];
    mass = nil;
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

如果我使用Dot Notation(Objective-C 2.0)写这个是吗?

- (void)dealloc{
    self.name = nil;
    self.orbit = nil;
    self.mass = nil;
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

加里

cocoa memory-management objective-c

2
推荐指数
1
解决办法
396
查看次数

模型应该如何更新其进度的UI?

我正在尝试解决Objective-C中的问题,但我不认为这个问题是特定于语言的.

我必须在没有UI概念的模型类中进行一些处理.但是,此处理需要一些时间,我想通过进度条让用户知道状态.

我的第一次尝试是使用某些方法定义进度处理程序协议/接口的概念

-startOperation;
-updateProgress:(double)currentValue ofMax:(double)maxValue
-endOperation;
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我的UI可以实现模型不需要知道除了有人想要进度更新之外的其他内容的详细信息.目前我的UI取消隐藏进度条,并对其进行更新,然后在完成后隐藏它.到现在为止还挺好.

然而,事实证明,有时这种操作处理非常快.这样UI更新会在执行时导致相当令人不安的闪烁.我不知道此操作是预先快还是慢.

我的一个想法是强制操作至少占用一定的时间以避免UI变化如此刺耳,但这似乎将UI的知识放在模型类中,这一定是错误的.

这似乎是(希望)一些已知模式的常见问题.

你会如何解决这个问题?

model-view-controller user-interface objective-c progress-bar

2
推荐指数
1
解决办法
539
查看次数

我应该如何构建具有多个键的NSDictionary?

我有一种情况,我想将一对对象映射到信息字典.我想避免创建NSDictionaries NSDictionaries的NSDictionary,因为这简直令人困惑且难以维护.

例如,如果我有两个类,Foo和Bar,我想要{Foo,Bar} - > {NSDictionary}

除了根据这两种类型制作自定义类(只是用作字典键)之外,还有其他选择吗?也许类似于STL的配对类型,我只是不知道?

cocoa objective-c nsdictionary

2
推荐指数
1
解决办法
2446
查看次数

NSUserDefaults未写入磁盘

我为NSUserDefaults设置了一些值,如果我在不退出应用程序的情况下检索它们,一切正常.当我重新启动应用程序时,更改会在95%的时间内消失.在5%的时间内,一切都被保存好了.

我第一次面临这个问题.在我的其他应用程序中,我通常不会在NSUserDefaults中保存NSString.可能保存NSString会导致问题吗?

这是我的代码:

    -(void) mayShowFeedbackMessage
    {
     NSDateFormatter *dateFormatter = [ [NSDateFormatter alloc] init];
     [dateFormatter setTimeStyle: NSDateFormatterLongStyle];
     [dateFormatter setDateStyle: NSDateFormatterMediumStyle];

     if ([ [NSUserDefaults standardUserDefaults] objectForKey: @"ratingsMessage_shown_on_date"])
     {
          NSString *lastRatingDateString = [ [NSUserDefaults standardUserDefaults]
                                           objectForKey: @"ratingsMessage_shown_on_date"];
          NSDate *lastRatingDate = [dateFormatter dateFromString: lastRatingDateString];

          DebugLog(@"lastRatingDateString: %@", lastRatingDateString);
          DebugLog(@"time since last message: %.0f", [ [NSDate date] timeIntervalSinceDate: lastRatingDate]);

          if ( [ [NSDate date] timeIntervalSinceDate: lastRatingDate] >= 120.0f )
          {
              [self showFeedbackMessage];

              NSDateFormatter *dateFormatter = [ [NSDateFormatter alloc] init];
              [dateFormatter setTimeStyle: NSDateFormatterLongStyle];
              [dateFormatter setDateStyle: NSDateFormatterMediumStyle];

              NSString …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa cocoa-touch objective-c nsuserdefaults

2
推荐指数
1
解决办法
2083
查看次数

成为一个破解者的噩梦!

我试图在Mac上使用Objective-C来破解代码.

我要做的一件事就是检查应用程序是否被破解.

我是Objective-C和Xcode的新手,无论我想象的什么方式来测试我的应用程序,我总是以一个可以轻松修补的基本测试结束.

例如:假设我要测试二进制文件某个部分中是否存在给定值.该操作将是这样的:

"这个值= x?" 如果不是,那就破裂了.

这很容易破解.黑客可以轻松修补测试,并始终如一.

我试图想象一些可以测试某些东西的东西,而不是一个可以轻松修补的测试.

我知道我无法阻止100%的盗版,但至少我试图让事情变得更加困难,以阻止大部分的破解者.

任何关于这样的事情的想法都可以在没有这个的情

谢谢你的帮助.

xcode cracking objective-c copy-protection

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

如何在Excel工作表中添加表单?

如何在Excel工作表中添加输入表单.我想使用表单将值插入Excel单元格.

excel

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