小编Jul*_*ien的帖子

如何弃用Xcode中的方法

我们将我们的库提供给客户,我想将一些方法标记为"已弃用",因为我们更改了它们(就像Apple在iPhone SDK中所做的那样).

我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED映射到的预处理器宏__AVAILABILITY_INTERNAL,它被映射到__attribute__((deprecated))......

好吧,我对这些东西有点困惑!

有谁知道这件事?

xcode cocoa cocoa-touch objective-c deprecated

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

Android ImageView调整父级的高度和拟合宽度

更新:我使用本答案中描述的方法解决了这个问题

我对这个问题有点困惑,我认为应该很简单.

所以我的应用程序下载了一个图像,并在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)

android resize imageview

62
推荐指数
3
解决办法
9万
查看次数

两列表:一列尽可能小,另一列则剩余

我在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)

但左栏占据了一半的表......

html css html-table autosize

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

混淆仅PDO问题:无法通过套接字连接/拒绝访问/无法连接到服务器(共享主机)

因此,问题从原来的问题发生了变化,我将在下面留下原始问题,以防止对某些人在编辑他的问题之后的答案进行错误的评论:

所以我正在开发一个安装了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 无法命令行.(我知道它应该是技术支持的工作,但它们的确很慢)

谢谢

上一个问题:

如何在共享主机上找到mysql.sock(需要一些棘手的方法......)

所以今天的问题是:PDO连接在共享主机上不起作用,它应该(它安装在服务器上).只是一个基本的PDO连接:

<?php …
Run Code Online (Sandbox Code Playgroud)

php mysql sockets connection pdo

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

通用分析和Facebook注册

我有一个允许通过Facebook注册的网站(theneeds.com).我们正在运行多个广告系列,例如Facebook本身,我们希望正确跟踪不同广告系列的注册情况.

问题在于Universal Analytics:当用户注册Facebook时,她会触发新会话,从而失去广告系列参考.

两种可能的解决方案是

  1. 删除注册表单上的分析跟踪(即导致新会话启动的页面)
  2. 将facebook.com添加到推荐排除列表中

不幸的是两者都有缺点,所以我想知道是否有最佳实践或更好的解决方案.


更多细节如下.

来自"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

这就是发生的事情.

  • 当用户点击时,她会打开theneeds.com,其中包含源,媒体和广告系列.
  • 用户现在点击加入并选择Facebook [1],她被重定向到facebook.com进行授权.
  • 在成功授权[2]之后,她被重定向回theneeds.com,推荐facebook.com(或m.facebook.com,在移动设备上).
  • 这会触发Universal Analytics中的新会话,从而丢失有关广告系列的信息.
  • 用户现在位于注册表单上,并在提交后重定向到标记分析目标的页面.
  • 不幸的是,目标是注册为facebook.com/referral,而不是facebook/social/_mycampaign.

笔记:

[1]我以Facebook为例来简化讨论.显然,Twitter,谷歌和任何其他oAuth提供商也是如此.

[2]为了测试,需要确保用户尚未授权Facebook上的网站,以便她实际上在facebook.com上看到页面(这是新用户的常见情况) - 如果用户已经授权后,她立即被重定向回网站,并且推介没有变化,因此可以正确跟踪广告系列.

我测试了上面提到的2种解决方案.

  1. 删除注册表单上的分析跟踪 - 其缺点是我正在丢失页面跟踪
  2. 将facebook.com添加到推荐排除列表 - 这会导致失去来自Facebook的实际推荐流量(例如,由于用户共享).

装饰链接也是一种不可行的解决方案,因为用户在决定注册之前可能会查看网站,因此我应该在所有链接上传播装饰.

一个更好的解决方案是暂时禁用注册表单上的引用,但我不确定这是否可以在Universal Analytics中使用.

有什么建议吗?先感谢您!

google-analytics oauth facebook-oauth

15
推荐指数
1
解决办法
3799
查看次数

Google地图(v3)infowindow始终在同一标记上打开

我创建了几个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

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

如何在iPhone App上找到100%CPU使用率的原因

我在应用程序中诊断出一个奇怪的行为:大约10分钟后,CPU使用率达到100%.应用程序中没有泄漏,它发生在应用程序什么都不做的时候.

我可以使用"Time Profiler"对仪器进行分析,但是有没有办法找到实际原因是什么?

performance monitoring instruments ios

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

VBA公共阵列:如何?

所以今天的问题让我生气,因为这应该很容易,我找不到答案:

如何在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不喜欢它......

那我该怎么办?

非常感谢 :)

编辑:问题更多的是将值赋予数组而不是声明它

arrays vba

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

为什么我(不)使用"use"关键字作为名称空间

我已经使用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关键字的缺点(除了每次都必须编写整个命名空间的事实),就像你不能做的事情一样?
  • 使用它有什么缺点吗?(它是否会稍微降低性能,因为它以某种方式导入了类)?

编辑 只是为了澄清:我知道干净的代码比小的性能调整更重要,我只想知道什么时候电脑工作,我喜欢感受努力:-)

php namespaces

9
推荐指数
2
解决办法
2559
查看次数

Xcode 4:在依赖目标中定义预处理器宏

我有一个名为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 static-libraries xcode4 c-preprocessor

6
推荐指数
1
解决办法
6023
查看次数