我想显示与用户设备的区域设置相关的日期和月份.
因此,今天的日期将显示为美国设置的5/18和18.5.与德国设置.
因为我想处理每个可能的区域设置,我只是简单地使用[dateFormatter setDateFormat:]和[dateFormatter setDateStyle:NSDateFormatterShortStyle]将显示年份.
除了尝试识别字符串中的年份值并将其删除之外,还有更优雅的方法吗?
-(NSDictionary *)properties;
+(NSDictionary *)ClassProperties;
Run Code Online (Sandbox Code Playgroud)
现在,我如何从子类调用ClassProperties?
-(NSDictionary *)properties {
return [? ClassProperties];
}
Run Code Online (Sandbox Code Playgroud)
关键是ClassProperties获取类中的属性列表,因此我无法调用基类定义.
我需要创建一个算法来布局一些分层数据,但之前从未做过这种事情,需要一些广泛的提示.
基本上我需要重新创建此图表(使用动态数据):
图http://dl.dropbox.com/u/15126868/diagram.png
更大
我对它的大部分都没有问题,但需要帮助两件事:
任何建议最受欢迎.我不需要太多细节.
更详细一点:
我目前正在考虑我应该使用UIView子类和layoutSubviews.麻烦的是我需要知道所有节点的大小(至少大致)才能开始定位它们.然后,由于定位涉及旋转,我可能需要再次调整儿童定位 - 我不能在任何旋转之后添加标签.
其他考虑似乎是:表示区域是矩形,而不是正方形; 我无法从页面上溢出; 并且我需要动画更改光盘的大小.
任何指针都会很棒,谢谢.
我有一个客户端,他有一个用PHP明确编写的课程管理在线工具.
他聘请我在网站上做一些工作.工作是什么我还不清楚,但我认为它将成为现有网站的插件,不需要对现有PHP代码进行任何修改.
由于我对Django更熟悉,我计划在Django中编写这些新插件并将其与PHP集成.
这是明智之举还是会在可预见的未来引发问题.代码是否仍然可以被未来的开发人员管理,以及它在Apache服务器上会有什么压力(资源方面)?
我有其他选择
感谢您的输入
-(void)viewwillAppear
{
[super viewwillAppear:animated];
}
Run Code Online (Sandbox Code Playgroud)
[super viewwillAppear:animated]如果我们不打电话,它的意思是什么?
希望你能帮忙.我正在导入iPhone App的当前GMT时间.这是通过JSON Web服务检索的.
我相信我有正确的格式化程序字符串,但是当我尝试格式化我检索的日期时,我得到一个不同的日期(时间仍然正确).JSON日期的格式如下:Sun,2011年5月15日20:35:31 +0000
在下面的示例中,strGMT是我刚刚提到的格式的日期.
这是我用来将检索日期存入我的代码的代码:
NSLog(@"Current GMT: %@", strGMT);
NSDateFormatter *gmtFormatter=[[NSDateFormatter alloc] init];
[gmtFormatter setDateFormat:@"EEE, dd MMM YYYY HH:mm:ss VVVV"];
//THIS IS NOT REFORMATTING CORRECTLY HERE
NSDate *gmtDateTime=[gmtFormatter dateFromString:strGMT];
NSLog(@"Current Formatted GMT Date: %@", gmtDateTime);
Run Code Online (Sandbox Code Playgroud)
日志显示以下内容:
目前GMT:太阳,2011年5月15日20:35:31 +0000
当前格式化GMT日期:2010-12-26 20:35:31 +0000
我没有格式化字符串正确吗?有什么想法从2011年5月15日(今天)到2010年12月26日?
亲切的问候
保罗
我正在将我的项目转换为使用ARC,并遇到了一个特殊问题.我有一个类来管理从网络下载的文件缓存.每个文件都存储在iPhone文件系统中,相关对象保存在我的管理器类中.其他想要使用文件的对象,请求我的经理获取缓存对象,并在需要该文件时保留该文件.
但偶尔,经理会清理缓存,删除旧文件.当然,它不应该删除当时正在使用的文件.在ARC之前,我通过使用关联对象的retainCount检测到:
// if retainCount is 1 then only the cache has a reference to it
if( obj.retainCount <= 1 ) {
[obj deleteFile];
[cache removeObject:obj];
}
Run Code Online (Sandbox Code Playgroud)
这完全有效[是的,我知道有关retainCount不可靠的警告,但根据我的经验,如果retainCount> 1,你肯定知道不止一个对象保留了它]
但是,使用ARC时,不允许再使用retainCount.我可以引入自己的保留计数机制,并要求所有使用文件的对象明确保留和释放文件对象.但那是错误的,而且这正是ARC应该解决的问题.
你知道更好的方法来实现同样的目标吗?
cocoa-touch objective-c retaincount ios5 automatic-ref-counting
我有一个MainViewController,我想添加两个UITableView,每个都有不同的单元格.但是我不想通过检查表委托方法来阻塞我的MainViewController代码,然后对它进行操作.太乱了.
所以我想我会继承UITableView并让它自己处理cellForRow和其他表方法,这样当我想向MainViewController添加一个表时,我只需要
CustomTable *customTable = [[CustomTable alloc] init];
[self.view addSubview:customTable];
Run Code Online (Sandbox Code Playgroud)
并且所有委托方法都将在该类中处理,从而使我的MainViewController混乱.
我接近这个错吗?我应该继承UITableViewController的子类吗?有什么不同?
有没有办法减少Obj-C中重复声明的代码?
例如:
我有
localNotification.fireDate = self.dueDate;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = self.text;
localNotification.soundName = UILocalNotificationDefaultSoundName;
Run Code Online (Sandbox Code Playgroud)
它可以简化为这样的东西吗?
localNotification
.fireDate = self.dueDate;
.timeZone = [NSTimeZone defaultTimeZone];
.alertBody = self.text;
.soundName = UILocalNotificationDefaultSoundName;
Run Code Online (Sandbox Code Playgroud)
谢谢!
我对良好或不良做法有疑问。
我创建了一个函数,该函数将生成一个随机数。如果随机数等于先前的随机数,则应生成一个新数。所以我的问题是。从方法中调用相同的方法是不好的做法吗?
func getRandomNumber(){ //<-- Method name
let randomNumber = Int.random(in: 0..<allPlayers.count)
if lastRoundNumber == randomNumber{
getRandomNumber() //<-- Like this
}
print(randomNumber)
}
Run Code Online (Sandbox Code Playgroud)
还是我应该这样做?如果是,怎么办?
因此,像我在上面的代码中所做的那样,从当前方法中调用相同的方法是不好的做法吗?提前致谢。
如果是,为什么不好?以及如何获得更好的代码?
objective-c ×7
cocoa-touch ×6
iphone ×4
ios ×3
django ×1
ios5 ×1
localization ×1
php ×1
retaincount ×1
swift ×1
uitableview ×1