我们将我们的库提供给客户,我想将一些方法标记为"已弃用",因为我们更改了它们(就像Apple在iPhone SDK中所做的那样).
我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED映射到的预处理器宏__AVAILABILITY_INTERNAL,它被映射到__attribute__((deprecated))......
好吧,我对这些东西有点困惑!
有谁知道这件事?
更新:我使用本答案中描述的方法解决了这个问题
我对这个问题有点困惑,我认为应该很简单.
所以我的应用程序下载了一个图像,并在ImageView中呈现位图,ImageView是RelativeLayout的子元素.我希望ImageView适合父宽度,并调整它的大小以保持纵横比.
这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout android:id="@+id/banner" android:layout_width="fill_parent" android:layout_height="wrap_content"></RelativeLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RelativeLayout banner = (RelativeLayout) findViewById(R.id.banner);
ImageView imgV = new ImageView(this);
imgV.setScaleType(ImageView.ScaleType.CENTER_CROP);
// I tried all the scale types : CENTER_INSIDE : same effect, FIT_CENTER : same effect...
imgV.setBackgroundColor(0x00FFFF00);
imgV.setAdjustViewBounds(Color.BLUE);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
banner.addView(imgV,params);
// Some code downloading the image stream
bitmap = BitmapFactory.decodeStream(stream); …Run Code Online (Sandbox Code Playgroud) 我在div中有一个to-columns表:
<div>
<table>
<tbody>
<tr>
<td class="action" >
<a> ? </a>
</td>
<td class="content">
<p>Bigger text...(variable size).......</p>
</td>
</tr>
<tr>
<td class="action" >
<a> ? </a><a> ? </a>
</td>
<td class="content">
<p>Bigger text...(variable size).......</p>
</td>
</tr>
... same structure in all the table
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望"action"列适合内容,而"content"列则需要剩余的可用空间.使用右对齐,"action"列看起来会更好.桌子也应该适合容器宽度的100%.
有没有办法在不修复列宽的情况下这样做?
我试过这个:
table .action
{
width:auto;
text-align:right;
}
table
{
border-collapse:collapse;
border-spacing:0;
width:100%;
}
Run Code Online (Sandbox Code Playgroud)
但左栏占据了一半的表......
因此,问题从原来的问题发生了变化,我将在下面留下原始问题,以防止对某些人在编辑他的问题之后的答案进行错误的评论:
所以我正在开发一个安装了PDO的(非常蹩脚)共享主机,但它不起作用.使用默认参数
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=THE_DB_NAME', 'THE_USER', 'THE_PASSWORD');
echo 'Connected to database';
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Run Code Online (Sandbox Code Playgroud)
它抛出这个消息:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)
使用简单的mysql_connect,它可以工作.
套接字路径似乎是正确的(phpinfo和这个查询:
show variables like 'socket';
Run Code Online (Sandbox Code Playgroud)
确认.
Localhost重定向到10.103.0.14(此数据来自mysql_get_host_info()和phpMyAdmin)
在PDO中,如果我用127.0.0.1替换localhost,我会得到
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)
Run Code Online (Sandbox Code Playgroud)
如果我用10.103.0.14替换localhost:
Access denied for user 'USER_NAME'@'10.103.0.14' (using password: YES
Run Code Online (Sandbox Code Playgroud)
IP地址(127.0.0.1和10.103.0.14)都可以使用mysql_connect.
显然问题来自PDO连接.
有人知道这可能来自哪里,或/和任何方法来解决它?
一些服务器数据:
PHP版本:5.2.10您可以看到服务器的phpinfo:http://web.lerelaisinternet.com/abcd.php?v = 5 无法命令行.(我知道它应该是技术支持的工作,但它们的确很慢)
谢谢
上一个问题:
所以今天的问题是:PDO连接在共享主机上不起作用,它应该(它安装在服务器上).只是一个基本的PDO连接:
<?php …Run Code Online (Sandbox Code Playgroud) 我有一个允许通过Facebook注册的网站(theneeds.com).我们正在运行多个广告系列,例如Facebook本身,我们希望正确跟踪不同广告系列的注册情况.
问题在于Universal Analytics:当用户注册Facebook时,她会触发新会话,从而失去广告系列参考.
两种可能的解决方案是
不幸的是两者都有缺点,所以我想知道是否有最佳实践或更好的解决方案.
来自"Universal Analytics使用指南"
默认情况下,所有引荐都会在Universal Analytics中触发新会话 https://support.google.com/analytics/answer/2795983
以下是发送到Facebook的广告系列示例:
http://www.theneeds.com/?utm_source=facebook&utm_medium=social&utm_campaign=_mycampaign
这就是发生的事情.
笔记:
[1]我以Facebook为例来简化讨论.显然,Twitter,谷歌和任何其他oAuth提供商也是如此.
[2]为了测试,需要确保用户尚未授权Facebook上的网站,以便她实际上在facebook.com上看到页面(这是新用户的常见情况) - 如果用户已经授权后,她立即被重定向回网站,并且推介没有变化,因此可以正确跟踪广告系列.
我测试了上面提到的2种解决方案.
装饰链接也是一种不可行的解决方案,因为用户在决定注册之前可能会查看网站,因此我应该在所有链接上传播装饰.
一个更好的解决方案是暂时禁用注册表单上的引用,但我不确定这是否可以在Universal Analytics中使用.
有什么建议吗?先感谢您!
我创建了几个Gmarkers(来自JQuery加载的JSON数据"load"函数),在所有这些上我添加了一个事件监听器来打开我之前在标记上创建的infowindow对象,然后我将它们全部添加到地图中.
问题是infowindow总是在同一个标记上打开.我之前都有这个工作,我看不出问题出在哪里......变量的范围?某处愚蠢的错误?
我上传了一个示例,这是javascript文件的快捷方式
代码 :
var map;
var infowindow;
$(document).ready(function() {
var myLatlng = new google.maps.LatLng(47.15984,2.329102);
var myOptions = {
zoom: 6,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.HYBRID,
scrollwheel: false
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
infowindow = new google.maps.InfoWindow({content:'<p>Test</p>'});
$.getJSON("data.json", function(data) {
var markers = [];
for (var i = data.length - 1; i >= 0; i--){
var latLng = new google.maps.LatLng(data[i].lat, data[i].lng);
var marker = new google.maps.Marker({position: latLng});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
markers.push(marker); …Run Code Online (Sandbox Code Playgroud) javascript jquery google-maps infowindow google-maps-markers
我在应用程序中诊断出一个奇怪的行为:大约10分钟后,CPU使用率达到100%.应用程序中没有泄漏,它发生在应用程序什么都不做的时候.
我可以使用"Time Profiler"对仪器进行分析,但是有没有办法找到实际原因是什么?
所以今天的问题让我生气,因为这应该很容易,我找不到答案:
如何在VBA中声明公共数组?我正在使用带有字母A,B,C ......的数组,因为我正在使用Excel单元格,我不想在我创建的每个函数中声明它,对吧?我试图先在网上看一下,然后我读到你必须在另一个模块中声明它,这就是我所做的:
Public colHeader As String
colHeader = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L")
Run Code Online (Sandbox Code Playgroud)
但Visual Basic不喜欢它......
那我该怎么办?
非常感谢 :)
编辑:问题更多的是将值赋予数组而不是声明它
我已经使用PHP 5.3一年多了,而且我总是这样做,我不确定是否正确:每当我使用当前上下文命名空间之外的类时,使用use关键字:
use Another\Class
Run Code Online (Sandbox Code Playgroud)
所以在代码中我可以直接写:
$object = new Class();
Run Code Online (Sandbox Code Playgroud)
这很好,但我经常use在我的文件开头有很多指令,而且维护不太好(如果我不使用这个类,我不太可能删除该use指令).
每次我使用这个类时,我也可以编写整个命名空间:
$object = new \Another\Class();
Run Code Online (Sandbox Code Playgroud)
所以我想知道两件事:
use关键字的缺点(除了每次都必须编写整个命名空间的事实),就像你不能做的事情一样?编辑 只是为了澄清:我知道干净的代码比小的性能调整更重要,我只想知道什么时候电脑工作,我喜欢感受努力:-)
我有一个名为MyApp的应用程序链接到静态库MyLibrary 我已将MyLibrary项目添加到Xcode,并将MyLibrary目标添加到MyApp的目标依赖项中.这一切都很好,我可以设置断点,我很高兴.
问题是我想在库中有条件的日志:
#ifdef DEBUG
# define MYDebug(msg, ...) NSLog(@"\nDEBUG -> %@ \n(%s:%d)",[NSString stringWithFormat:msg, ## __VA_ARGS__], __PRETTY_FUNCTION__,__LINE__);
#else
# define MYDebug(msg, ...)
#endif
Run Code Online (Sandbox Code Playgroud)
所以我的库有两个构建配置: - 调试在"预处理器宏"的目标构建设置中有"DEBUG = 1" - Prod什么都没有
并且MyLibrary目标设置为使用Debug构建配置构建.
如果我构建静态库(.a)并将其包含在项目中,这可以正常工作.但是如果它是由目标依赖构建的,那么似乎没有定义DEBUG(MYDebug不记录任何东西).
我也尝试在MyApp的构建设置中设置DEBUG = 1 ,但它不起作用.
有什么我错过了,或其他方式做到这一点?
objective-c ×2
php ×2
android ×1
arrays ×1
autosize ×1
cocoa ×1
cocoa-touch ×1
connection ×1
css ×1
deprecated ×1
google-maps ×1
html ×1
html-table ×1
imageview ×1
infowindow ×1
instruments ×1
ios ×1
javascript ×1
jquery ×1
monitoring ×1
mysql ×1
namespaces ×1
oauth ×1
pdo ×1
performance ×1
resize ×1
sockets ×1
vba ×1
xcode ×1
xcode4 ×1