小编Dee*_*olu的帖子

来自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万
查看次数

KVO与UIKit的可靠性如何

重要提示:并非所有属性都符合KVO标准.您可以按照"KVO合规性"中描述的步骤确保您自己的类符合KVO.通常,Apple提供的框架中的属性仅在符合KVO标准的情况下才会被记录.

这句话让我很困惑.我们不能将KVO用于UIKit对象吗?我不记得有任何财产被记录为符合KVO标准.尽管如此,我仍然能够使用具有许多属性的KVO.这是否意味着我不能依赖它?

任何洞察这一点将不胜感激.

key-value-observing uikit ios

11
推荐指数
1
解决办法
2339
查看次数

如何更改Button上的图像集

我想更改按钮单击事件上的按钮图像.这是我正在尝试的.

-(IBAction)editObjectImage:(id)sender
{
    if (editButtonState == NO)
    {   
        [editButton setImage:nil forState:UIControlStateNormal];
        [editButton setImage:[UIImage imageNamed:@"done2.png"] forState:UIControlStateNormal];
    }
    else
    {
        [editButton setImage:nil forState:UIControlStateNormal];
        [editButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal];
    }
}
Run Code Online (Sandbox Code Playgroud)

但我的按钮图像没有改变.代码有什么问题?

iphone ipad ios

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

UIScrollView以编程方式设置contentOffset问题

我正在创建一个类似于照片应用的ImageViewer.我有一个PagingScrollView,它是视图控制器的视图(在loadView中创建).这些页面是带有UIImageView子视图的UIScrollViews.一切都工作hunky dory,直到我尝试'跳过'(设置内容偏移)到除第一个之外的索引.如果我跳过说图像'i',则图像被正确显示但是如果用户执行单击操作,则contentOffset将自身重置为显示图像'0'.其他手势(如拖动)不会发生此错误,如果您先执行另一个手势,则不会触摸该错误.

这是我的ImageViewerController的loadView

- (void)loadView
{
    //Make the outer spaging scroll view
    CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
    scrollView.pagingEnabled = YES;
    scrollView.backgroundColor = [UIColor blackColor];
    scrollView.showsVerticalScrollIndicator = NO;
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.contentSize = [self contentSizeForPagingScrollView];
    scrollView.delegate = self;
    self.view = scrollView;
}
Run Code Online (Sandbox Code Playgroud)

这就是我试图设置内容偏移量的方法

#define myView (UIScrollView *)self.view

[myView setContentOffset:[self contentOffsetForIndex:index]];

[..]

- (CGPoint)contentOffsetForIndex:(NSUInteger)index
{
    return CGPointMake((index * (self.view.frame.size.width)), 0);
}
Run Code Online (Sandbox Code Playgroud)

iphone uiscrollview ios

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

什么是现代运行时?

注意:通常在dealloc方法中,您应该直接释放对象实例变量(而不是调用set访问器并传递nilas参数),如下例所示:

- (void)dealloc {
    [property release];
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

但是,如果使用现代运行时并合成实例变量,则无法直接访问实例变量,因此必须调用访问器方法:

- (void)dealloc {
    [self setProperty:nil];
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

iOS应用程序开发中的现代运行时到底是什么?

objective-c ios4 ios

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

警报视图 - 如何使用clickedButtonAtIndex:

我有这个警报视图(免责声明),当应用程序完成启动时弹出.它工作(我的应用程序现在慢得多),但如果用户按下,我也想退出应用程序no, thanks.我想我应该使用clickedButtonAtIndex:.
有人可以帮我吗?
2. viewDidLoad是应用程序启动时触发alertView的最佳方法吗?
3.有什么理由为什么现在我的应用程序在构建和运行时需要更多时间才能开始?

-(void)viewDidLoad { 
    UIAlertView *disclaimer = [[UIAlertView alloc] initWithTitle:           @"DISCLAIMER" message:@"This Application is provided without any express or implied    warranty. Errors or omissions in either the software or the data are not guaranteed against. The application is not intented to replace official documentation or operational procedure. In no event shal the developer be held liable for any direct or indirect damages arising from the use of this application" delegate:self cancelButtonTitle:@"No, thanks" otherButtonTitles:@"Accept", nil]; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uialertview ios4

4
推荐指数
2
解决办法
9906
查看次数

CocoaAsyncSocket的读写代理不会触发和代码组织

我正在尝试使用cocoaasyncsocket库附带的echo服务器示例的修改版本执行以下操作:

1)打开与作为服务器的python脚本的连接
2)发送数据//工作,但委托不激活
3)接收数据//委托不激活
4)断开//不断开,显然还在我的帖子里

目前,我在didFinishLaunchingWithOptions委托中打开一个连接,然后尝试在didConnectToHost委托中发送数据.然后,我尝试读取从客户端返回的数据,然后断开连接.

我能够打开一个连接并发送数据(服务器验证为收到),但didWriteDataWithTag委托永远不会触发.但是,服务器接收数据.然后服务器会激活一些数据,但didReadData也不会触发.

除了读/写代理没有触发的事实,似乎我组织我的代码的方式不对,但我不确定这在事件驱动的系统中看起来如何与运行循环相反(我'在事件驱动的东西+网络新手.如果我的一系列行动的各自的完成是由他们的代表触发的,那么代表们是否应该分享某种消息 - 即我们收到了"xxx"消息,请回写"yyy"?我更喜欢有一个功能来管理所有这些.这样做有规范的方法吗?

IPhoneConnectTestAppDelegate.m(片段)

- (void)localConnect {
    NSError *error = nil;
    if (![asyncSocket connectToHost:@"localhost" onPort:5000 error:&error]) {
        DDLogError(@"Error connecting: %@", error);
    }
}

- (void)disconnect {
    [asyncSocket setDelegate:nil];
    [asyncSocket disconnect];
    [asyncSocket release];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Setup our socket (GCDAsyncSocket).
    dispatch_queue_t mainQueue = dispatch_get_main_queue();
    asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:mainQueue];

    [self localConnect];

    // Add the view controller's view to the window and display.
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
} …
Run Code Online (Sandbox Code Playgroud)

cocoa tcp objective-c asyncsocket

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

NSDate内存泄漏问题

我有一个内存泄漏NSDate.请查看以下代码.

-(void)myMethods:(NSDate *)currentTime{
    [NSThread detachNewThreadSelector:@selector(mySecondMethods) toTarget:self withObject:nil];
}

-(void) mySecondMethods{
    NSDate * currentDateTime =  [NSDate date];------->memory leak here

    for (Event * event in array) {
        if(![event checkOccur:currentDateTime]){
            return;
         } else {
            [NSThread detachNewThreadSelector:@selector(start) toTarget:event withObject:nil];       
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nstimer

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

viewDidLoad中的CGAffineTransformRotate拉伸/分散UIImageView

我需要在加载视图时按接口构建器创建的UIImageView以给定角度旋转.

- (void)viewDidLoad
{
   [super viewDidLoad];
    image.transform = CGAffineTransformRotate(image.transform, REF_INIT_OFFSET*M_PI/180); 
}
Run Code Online (Sandbox Code Playgroud)

这会旋转图像,但后者完全扭曲和拉伸.如果REF_INIT_OFFSET是90的倍数,它可以正常工作!

这是图片的样子(注意指针指向"0")

在此输入图像描述

以下是它的实际外观:

看起来图像被拉伸到错误的方向.

你知道什么是错的吗?

谢谢,

uiimageview ios

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

Objective-C从数组中的字符串中删除空格

我想逐行将字符串文件导入数组.我想摆脱字符串前后的所有空格,以便我可以更容易地比较字符串而不会因为小的空白差异而使它们不匹配.我NSData文件的内容然后取两个字符串

NSString* string  = [[[NSString alloc] initWithBytes:[data bytes]
                                                  length:[data length] 
                                                encoding:NSUTF8StringEncoding] autorelease];

NSString* string2  = [[[NSString alloc] initWithBytes:[data2 bytes]
                                                   length:[data2 length] 
                                                 encoding:NSUTF8StringEncoding] autorelease];
Run Code Online (Sandbox Code Playgroud)

我在下面尝试删除空格,然后添加到数组,但它似乎不起作用.

NSString *newString = [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
NSString *newString2 = [string2 stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];

NSArray *fileInput = [newString componentsSeparatedByString:@"\n"];
NSArray *fileInput2 = [newString2 componentsSeparatedByString:@"\n"];
Run Code Online (Sandbox Code Playgroud)

objective-c

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