我正在读一个Stream,它提供了一个标识符(一个简单的int).根据int的不同数据,我需要将其转化为对象.到目前为止,我为每个对象类型创建了类,每个类提供了一个read(InputStream输入)方法,该方法读取要为该类对象读取的任何数据(所有对象类都从公共基类继承).
但是,有许多id,因此有很多类.确定和创建类实例的最优雅方法是什么?我首先尝试的最天真的方法是使用switch-case块来创建实例,但我发现它使代码混乱(不合理).它还迫使我在编译时提供每个课程.
第二个尝试是创建一个映射,将每个int映射到一个类,并使用newInstance()来创建对象.仍然存在我需要初始化地图的问题,这仍然要求我在编译时提供每个类.它或多或少只是将杂乱的地方从一个地方移到另一个地方.
不需要删除编译时依赖项,如果可能的话,它只是一个奖励.主要目标是避免样板代码.
约束:我不想添加库来解决这个问题.我的反思很好.
我在数据库中有一个带有电话号码列的表.数字看起来像这样:
123456789
Run Code Online (Sandbox Code Playgroud)
我想格式化为这样:
123-456-789
Run Code Online (Sandbox Code Playgroud) 在为页面设计HTML和CSS时,我应该何时使用
img.className
与
.className
与
#idName
还是其他一些变种?
有指导方针或建议吗?
谢谢所有的回答者 - 这里有一些很棒的东西!
如何使用C或Perl等过程语言进行异常处理?(我知道Perl也做OO.)在Perl中处理程序代码中的异常的最佳方法是什么?
我想要一个C预处理器,它从源代码中过滤掉一些#define语句,而不改变任何其他内容.
为什么?如果源被分发给另一个客户端,这应该用于从源中删除一些客户端特定的代码.
有谁知道现有的解决方案?
谢谢!西蒙
是否有以下较短版本:
使用ASP.NET MVC,这是在HTML页面中
<%= IsTrue ? Html.Image("~/images/myimage.gif") : "" %>
Run Code Online (Sandbox Code Playgroud)
我知道我只是写了3个额外的角色,只是想知道是否有更好的东西.
我有一个Web服务器,用于保存编号为Web应用程序的日志文件.这个文件名示例如下:
dbsclog01s001.log
dbsclog01s002.log
dbsclog01s003.log
Run Code Online (Sandbox Code Playgroud)
最后3位是计数器,它们可以达到100的时间.
我经常打开一个Web浏览器,浏览到如下文件:
http://someaddress.com/logs/dbsclog01s001.log
Run Code Online (Sandbox Code Playgroud)
并保存文件.当你获得50个日志时,这当然会有点烦人.我试图想出一个使用wget和传递的BASH脚本
http://someaddress.com/logs/dbsclog01s*.log
Run Code Online (Sandbox Code Playgroud)
但我的剧本有问题.无论如何,任何人都有关于如何做到这一点的样本?
谢谢!
我们有一个简单的架构:
PIC通过基于中断的I2C通信协议与ARM通信以传输数据.在中断内部,我们发出一个从I2C层(总线)读取数据的任务.
在数据有限的情况下,我们通常不会有太多问题来读取数据并将其发送到上层.如果这个数据非常庞大,中断将被连接很长时间.
第一个问题是:
我对吗?
如果我是对的,如何避免相同?......或者我们可以采用不同的方案吗?
Aaaarg ......好吧,让我们冷静吧.
有人设置MKMapView的区域有任何问题吗?它从未与我合作过.
这段代码:
-(void)setUserCenteredSpan:(MKCoordinateSpan)span{ // for this example, span = {0.5, 0.5}
// Current region (just initialised)
NSLog(@"%f, %f - %f, %f", self.region.center.latitude,
self.region.center.longitude,
self.region.span.latitudeDelta,
self.region.span.longitudeDelta);
// New Region
MKCoordinateRegion region = MKCoordinateRegionMake([[[self userLocation] location] coordinate],
span);
NSLog(@"%f, %f - %f, %f", region.center.latitude,
region.center.longitude,
region.span.latitudeDelta,
region.span.longitudeDelta);
// Region saved in MKMapView
[self setRegion:region animated:NO];
NSLog(@"%f, %f - %f, %f", self.region.center.latitude,
self.region.center.longitude,
self.region.span.latitudeDelta,
self.region.span.longitudeDelta);
}
Run Code Online (Sandbox Code Playgroud)
返回该日志:
30.145127, -40.078125 - 0.000000, 0.000000
0.000000, 0.000000 - 0.500000, 0.500000
0.000000, 0.000000 - 0.000000, …Run Code Online (Sandbox Code Playgroud) 我有一个表视图,可变数组指针itemList保存其单元格的对象.我分配并初始化可变数组,
itemList = [[NSMutableArray alloc] init];
并将对象添加到数组中并加载表视图.
现在我需要释放整个数组并再次分配以保存要在表视图中显示的新对象数组.这就是我在做的事情
if(self.itemList!= nil){[self.itemList removeAllObjects]; [self.itemList release];
}
self.itemList = [[NSMutableArray alloc] init];
然后将对象添加到数组中以在表视图中显示.
我正在调用[tableview reloadData];
表格加载正确,但在此之后发生三到四次我的应用程序崩溃
现在,1.当我在分配后调用保留计数时,它显示2 y?2.我的应用程序崩溃一段时间后出现错误"iphone Program received signal:"0".警告:check_safe_call:无法恢复当前帧"
我怀疑itemList没有被正确释放.
有人可以指导我吗?