小编Sam*_*Sam的帖子

来自NSDateComponents的NSDate

我试图将NSDate的hh,mm,ss组件改为另一个NSDate的组件 - 但出于某种原因,由于某种原因,时间设置为午夜.我无法弄清楚为什么!

这是代码;

+ (NSDate *) fixTime:(NSDate*)fromDate  toDate:(NSDate *) toDate {
    NSCalendar *cal = [NSCalendar currentCalendar];
    [cal setTimeZone:[NSTimeZone localTimeZone]];
    [cal setLocale:[NSLocale currentLocale]];
    NSLog(@"fromDate=<%@>", [fromDate descriptionWithLocale:[NSLocale currentLocale]]);
    NSLog(@"toDate=  <%@>", [toDate descriptionWithLocale:[NSLocale currentLocale]]);

    NSDateComponents *fromTimeComponents = [cal components:( NSHourCalendarUnit   | 
                                                             NSMinuteCalendarUnit | 
                                                             NSSecondCalendarUnit   ) fromDate:fromDate];                               
    NSDateComponents *toDateComponents = [cal components:( NSYearCalendarUnit   | 
                                                           NSMonthCalendarUnit  |  
                                                           NSDayCalendarUnit      ) fromDate:toDate];
    NSDateComponents *toTimeComponents = [cal components:( NSHourCalendarUnit   | 
                                                           NSMinuteCalendarUnit | 
                                                           NSSecondCalendarUnit   ) fromDate:toDate];
    [toTimeComponents setHour:[fromTimeComponents hour]];
    [toTimeComponents setMinute:[fromTimeComponents minute]];
    [toTimeComponents setSecond:[fromTimeComponents second]];
    NSLog(@"toDateComponents year = …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsdate nsdatecomponents

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

需要澄清UIApplicationState

我需要你的帮助来澄清我对应用程序各种状态的理解.我将陈述我的解释 - 但请随时纠正我.

1)App在前台启动并运行:state = UIApplicationStateActive
2)用户按下home键:state = UIApplicationStateBackground(????).

 Debug stmt in my app shows it to be Active
Run Code Online (Sandbox Code Playgroud)

3)用户双击主页并杀死应用程序:state = UIApplicationStateInactive

如果案例2的值确实是Active,那么该值何时设置为Background?

我的基于位置的应用依赖于此值来为用户采取适当的操作.

if ( ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) ||
    ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive)      ) {
    // isInBackground = YES;
    //  ------ UI not available
}
else {
   // isInBackground = NO;
   //   ------ UI is available
}
Run Code Online (Sandbox Code Playgroud)

问候,山姆.

uiapplication

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

什么时候调用viewWillDisappear?什么时候不是?

我有以下场景:

在vcA中(当用户点击UI中的按钮时):

  • 使用NIB文件实例化vcB - (当用户点击UI中的按钮时)
  • 在vcB中初始化iVar
  • 使用presentModalViewController呈现vcB
  • 在vcB的viewDidLoad中命中breakPoint
  • 在加载vcB的视图之前,调用vcA的viewWillDisappear(我通过NSLog语句看到它)
  • 从vcB加载视图
  • 显示其iVar的正确值(在vcA中设置)
  • 使用dismissModalViewController解除vcB

回到vcA -

重复该过程(模拟用户在UI中点击相同按钮的操作):

  • 使用NIB文件实例化vcB
  • 在vcB中更改iVar的值
  • 使用presentModalViewController呈现vcB
  • 这次,vcB的viewDidLoad中的断点未被命中
  • 在加载vcB的视图之前,这次也会调用vcA的viewWillDisappear
  • 从vcB加载视图
  • 显示其iVar的错误值 (它是以前的值)

所以,我很困惑.

  1. 为什么要调用vcA的viewWillDis?被称为的条件是什么?
  2. 为什么第二次没有调用vcB的viewDidLoad?我应该使用'addSubview'吗?

在此先感谢....山姆.

objective-c ios

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

通过工具跟踪"发送到解除分配实例的消息"

在XCode 4.2中,我需要一些帮助,以跟踪EXC_BAD_ACCESS错误的原因.启用NSZombie标志后,当应用程序在设备上崩溃时,我在控制台上看到以下内容.

*** -[__NSArrayM removeObject:]: message sent to deallocated instance 0x8674e30
Run Code Online (Sandbox Code Playgroud)

我使用过Instruments,但没看到Zombie的个人资料.我使用了Allocations配置文件,但很快就输了.我为应用程序启用了ARC(希望摆脱alloc/retain/release) - 但仍然有同样的问题.

如何使用仪器跟踪此情况?

iphone xcode exc-bad-access instruments

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

objective-c多维数组

我想在我的应用程序中使用可变大小的多维数组来保存数据.我想要使​​用的数据结构如下所示,每行中的第一个元素后跟相应的多个值.

 array = {   {a, a_val1, a_val2, a_val3}.  
             {b, b_val1},  
             {c, c_val1, c_val2, c_val3, c_val4, c_val5}  
         }
Run Code Online (Sandbox Code Playgroud)

知道如何在objective-c中实现吗?

objective-c multidimensional-array

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

xcode:共享2个目标的.pch文件

我发布了我的iPhone应用程序的精简版,并在商店.现在,我想添加"完整"版本的代码,并陷入困境.

在项目中添加第二个目标后,lite版本编译正常,但完整版本没有.这是因为_Prefic.pch文件中定义的宏对代码的完整版本不可见.

项目可以有多个.pch文件吗?如果不是,如何指定XCode与两个目标共享.pch文件?

xcode target pch

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